对于批量插入,我有一个外部参考值。作为插入的一部分,我想返回新创建记录的参考和相应id,以便在另一个系统中创建映射记录。使用"RETURNING"可以在目标表上很好地工作。除了在目标表中创建虚拟列,还有其他方式可以实现我所要做的吗?绝对不想逐行处理。注意:当前正在使用10.7版本。在我的示例代码中,我尝试了"returning 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