你好,我有這樣一個簡單的插入陳述句
insert into location_access (employees,location,permissionid)
價值
(empID,8241,4) 。
(empID,8260,4) 。
(empID,8269,4) 。
(empID,8261,4) 。
(empID,8170,4) 。
(empID,7908,4) 。
(empID,8008,4) 。
(empID,8026,4) 。
(empID,8029,4) 。
(empID,8242,4) 。
(empID,8270,4) 。
(empID,8278,4) 。
(empID,8279,4) 。
(empID,8281,4) 。
(empID,8284,4) 。
(empID,8288,4) 。
(empID,8171,4) 。
(empID,7909,4) 。
(empID,8156,4) 。
(empID,7258,4) 。
(empID,8027,4)
另外,對于empiD,我有一個超過190個雇員ID的串列。 所以硬編碼值將是一種痛苦,是否有更好的方法來做這個,也許一個 "回圈" 回圈所有的雇員ID并將其添加到每個位置?
示例雇員IDs
41743。
41746
41753[/span
43554 43554
43557 43554
43561[/span
43563[/span
43568[/span
43569 43568
43570 43569
43572[/span
43573 43572
4357443576[/span
43577 43576
43579 43577
43582[/span
43584 43584
uj5u.com熱心網友回復:
使用For回圈,可以插入多條記錄
DO
$do$
DECLARE
a integer[] 。 = array[41743,41746, 41753, 43554,43557,43561,43582,43584 ] 。
i integer;
BEGIN BEGIN
FOR i IN 1 ... array_upper(a, 1)
LOOP
RAISE NOTICE '%'/span>, a[i]; --單引號。
insert into location_access (employee,location,permissionid)
values[/span
(a[i],8241,4) 。
END LOOP;
結束。
$do$。
這里是演示 https://extendsclass.com/postgresql/ecb3b7c
uj5u.com熱心網友回復:
你可以針對一個雇員ID的串列進行交叉連接:
insert into location_access (employee,location,permissionid)
select source.employee, source.location, source.permissionid
from (
values[/span
(41743),(41746),(41753) 。 (43554),(43557),(43561) 。
(43563),(43568),(43569) 。 (43570),(43572),(43573) 。
(43574),(43576),(43577) 。 (43579), (43582), (43584)
) as emp(empid)
cross join lateral (
values[/span
(emp.empid,8241,4) 。
(emp.empid,8260,4) 。
(emp.empid,8269,4) 。
(emp.empid,8261,4) 。
(emp.empid,8170,4) 。
(emp.empid,7908,4) 。
(emp.empid,8008,4) 。
(emp.empid,8026,4) 。
(emp.empid,8029,4) 。
(emp.empid,8242,4) 。
(emp.empid,8270,4) 。
(emp.empid,8278,4) 。
(emp.empid,8279,4) 。
(emp.empid,8281,4) 。
(emp.empid,8284,4) 。
(emp.empid,8288,4) 。
(emp.empid,8171,4) 。
(emp.empid,7909,4) 。
(emp.empid,8156,4) 。
(emp.empid,7258,4) 。
(emp.empid,8027,4)
) as source(employee, location, permissionid)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/307976.html
標籤:
下一篇:SQL和可選排序ASC/DESC
