gpt4 book ai didi

sql - 可写公用表表达式和多个插入语句

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

如何在有效的 Postgres SQL 查询中编写以下内容:

with foo as (select * from ...)
insert into bar select * from foo
insert into baz select * from foo

最佳答案

如果您希望在一条语句中包含所有内容,则可以使用 CTE:

with foo as (
select * from ...
),
b as (
insert into bar
select * from foo
returning *
)
insert into baz
select * from foo;

注意事项:

  • 您应该使用 insert 包含列列表。
  • 您应该为 select * 指定列名明确。这很重要,因为两个表中的列可能不匹配。
  • 我总是在 CTE 中使用 returningupdate/insert/delete。这是正常用例 - 例如,您可以从插入中获取序列号。

关于sql - 可写公用表表达式和多个插入语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40107447/

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