gpt4 book ai didi

sql - 如何在 SQL 函数中获取 INSERT 的返回值并在同一函数中使用它?

转载 作者:行者123 更新时间:2023-11-29 14:04:57 25 4
gpt4 key购买 nike

这是一个完成标题的例子,这是我函数的内部(我正在使用 postgresql,但我想这是纯 SQL 语言)

$$
INSERT INTO foo VALUES (DEFAULT, $1) RETURNING id;
INSERT INTO link_foo_to_bar VALUES (1, <?>);
$$ language SQL;

这里要注意两件事,我返回第一个插入的 id,如何捕获它以使用返回的 id 作为标记为 < 的第二个插入的第二个参数? > ?

最佳答案

您可以使用 CTE 捕获从第一个插入中插入的行:

with firstinsert as (
INSERT INTO foo VALUES (DEFAULT, $1) RETURNING id
)
INSERT INTO link_foo_to_bar
select 1, id
from firstinsert;

关于sql - 如何在 SQL 函数中获取 INSERT 的返回值并在同一函数中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30153553/

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