使用另一个 INSERT 的返回值 INSERT INTO

Dar*_*ous 3 postgresql insert

我想做这样的事情:

INSERT INTO table2(name)
  INSERT INTO table1(name, address) VALUES ('me', 'home')
  RETURNING name;
Run Code Online (Sandbox Code Playgroud)

然后我希望在 table2 中有一个新记录'me'in name。这在SELECT返回值时可以正常工作,但我在嵌套插入时遇到了问题。

a_h*_*ame 5

使用数据修改 CTE

with t1 (name) as (
  INSERT INTO table1 (name, address) VALUES ('me', 'home')
  returning name
)
insert into table2 (name)
select name 
from t1;
Run Code Online (Sandbox Code Playgroud)