Nai*_*gun 48 sql postgresql insert postgresql-9.2
在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');
Run Code Online (Sandbox Code Playgroud)
但是我可以INSERT
使用RETURNING
语句通过单个查询实现这个吗?
mu *_*ort 72
你只需要一个添加RETURNING id
到您的INSERT ... SELECT
:
WITH rows AS (...)
INSERT INTO dealer (user_id)
SELECT id
FROM rows
RETURNING id;
Run Code Online (Sandbox Code Playgroud)
演示:http://sqlfiddle.com/#!12/75008/1
小智 22
出于我的目的,我需要将它放在变量中,所以我这样做了:
INSERT INTO dealer (user_id)
SELECT id
FROM rows
RETURNING id INTO l_dealerid;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
68048 次 |
最近记录: |