WITH query_results AS (
SELECT
columns
FROM
schema.table tim,
LATERAL (
VALUES
( 't01', tim.t01 ),
( 't02', tim.t02 ),
( 't03', tim.t03 ),
( 't04', tim.t04 ),
( 't05', tim.t05 ),
( 't06', tim.t06 ),
( 't07', tim.t07 ),
( 't08', tim.t08 ),
( 't09', tim.t09 ),
( 't10', tim.t10 ),
( 't11', tim.t11 ),
( 't12', tim.t12 ),
( 't13', tim.t13 ),
( 't14', tim.t14 ),
( 't15', tim.t15 ),
( 't16', tim.t16 ),
( 't17', tim.t17 ),
( 't18', tim.t18 ),
( 't19', tim.t19 ),
( 't20', tim.t20 )
) AS t ( toolpos, toolid )
INNER JOIN schema.table1 tbi ON t.column= tbi.column
WHERE
tim.column=''
),
insert1 AS (
INSERT INTO schema.table ( columns ) SELECT
'columns'
FROM
query_results
WHERE
query_results.column='' ON CONFLICT ( columns ) DO
UPDATE
SET t02 = '',
column='' RETURNING *
),
insert2 AS (
INSERT INTO schema.table ( columns) SELECT coalesce
( '', '123' ),
columns
FROM
query_results
WHERE
query_results.column= '' ON CONFLICT ( columns ) DO
UPDATE
SET columns='' RETURNING *
) SELECT
*
FROM
insert1,
insert2;
sql通过临时表完成插入操作
最新推荐文章于 2024-08-13 09:09:11 发布