我有两个表 T1,T2 我必须在 T2 中添加 T1 的列 id 并更新 T1 中的值。
所以我可以使用 RETURNING 从 T2 获取值,但是当在 UPDATE WHERE 中使用值时,无法更新列
例子:
WITH "T1S" AS (INSERT INTO "T1" VALUES()RETURNING id AS "T1id" ),
"T2S" AS (INSERT INTO "T2"(t1_id) VALUES(
(SELECT "T1id" FROM "T1S"))
)RETURNING t1_id AS "T1id",t2_id AS "T2id"
)
UPDATE "T1" set value=t2_id WHERE id IN (SELECT t1_id FROM "T2S")