在PostgreSQL 9.2.4中我有两个表:user (id, login, password, name)
和dealer (id, user_id)
。
我想在两个表中插入创建的经销商的返回ID。
目前我使用两个查询:
WITH rows AS (
INSERT INTO "user"
(login, password, name)
VALUES
('dealer1', 'jygbjybk', 'Dealer 1')
RETURNING id
)
INSERT INTO dealer (user_id)
SELECT id
FROM rows;
SELECT currval('dealer_id_seq');
但是我可以使用RETURNING
语句通过单个INSERT
查询来实现这一点吗?
2条答案
按热度按时间46scxncf1#
您只需要将一个
RETURNING id
添加到您的INSERT ... SELECT
:演示版:http://sqlfiddle.com/#!12/75008/1
nom7f22z2#
出于我的目的,我需要它在一个变量中,所以我这样做: