gpt4 book ai didi

postgresql - 插入语句,从源表返回列

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

对于批量插入,我有国外引用值(value)。作为插入的一部分,我想返回新创建记录的引用和相应的 ID,以便在另一个系统中创建映射记录。

使用“RETURNING”对目标表工作正常。除了在目标表中创建一个虚拟列之外,还有什么可以实现我想要做的事情吗?

绝对不想逐行处理。

注意:目前使用的是10.7版本

在我的示例代码中,我尝试了“返回 id,source.ref”,但显然这不受支持。

create table test( id serial primary key, name varchar);

insert into test( name)
select source.name
from ( values('refa', 'name a'), ('refb', 'name b'), ('refc', 'name c') ) source(ref, name)
returning id --, source.ref

最佳答案

使用 CTE:

WITH a AS (
INSERT ...
RETURNING ...
), b AS (
INSERT ...
RETURNING ...
)
SELECT ...
FROM a JOIN b ON ...

关于postgresql - 插入语句,从源表返回列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56785099/

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