这个问题在这里已经有答案了:
postgresql multi insert…返回多列(1个答案)
将插入的id插入另一个表(3个答案)
postgresql序列的下一个值(7个答案)
11个月前关门了。
我不懂怎么用 RETURNING
,例如,如何获得下一步的实际值。假设我有两张table:
create table "actors" (
id_act serial not null primary key,
first_name text not null,
last_name text not null
);
create table movies (
id_mov serial not null primary key,
act_id integer not null
);
现在我添加一个演员:
INSERT INTO actors (first_name, last_name) VALUES ('Tom', 'Hanks');
紧接着,我想用新演员的身份证插入一部电影:
INSERT INTO movies(###);
我怎么用 RETURNING
使用它而不是我的占位符####?
2条答案
按热度按时间bwitn5fc1#
您不需要使用pl/pgsql
RETURNING
,这也可以用在普通sql中。但是对于你所遇到的问题,你两个都不需要,因为你可以使用
currval()
从序列备份actors.id
获取最后生成的id
:如果您真的想使用returning,那么可以使用数据修改cte
在线示例
klsxnrf12#
您需要在insert语句中使用returning子句将返回的值存储在另一个变量中。
例子: