gpt4 book ai didi

sql - 在另一个语句中使用 RETURNING-data

转载 作者:行者123 更新时间:2023-11-29 12:01:21 24 4
gpt4 key购买 nike

我想使用来自 PostgreSQL-RETURNING 语句的数据“theID”

INSERT INTO ... RETURNING theID;

在另一个声明中进一步说明。如何做到这一点(没有游标)?

我的完整声明(复制一些数据并从源表中删除它们;tab1 和 tab2 定义相同):

DELETE FROM tab1 WHERE tab1id IN 
(
INSERT INTO tab2
SELECT * FROM tab1 WHERE ?something?
RETURNING tab2id
);

错误信息:

ERROR:  Syntaxerror near »INTO«
LINE 7: DELETE FROM tab1 WHERE tab1id IN (INSERT INTO tab2 SELECT * FROM ...
^

谢谢,Tebas。

最佳答案

很遗憾,您不能在此位置使用 DML 语句。您需要将数据存储在其他地方。 (正在努力使 PostgreSQL 9.1 能够像这样使用 DML,但现在还没有)。

现在,您可以将 INSERT..RETURNING 的输出存储到一个临时表中,然后在您的 DELETE 中使用它 - 只需记住将其包装在一个显式事务中...

关于sql - 在另一个语句中使用 RETURNING-data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3727322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com