在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查询实现吗?
你只需要添加一个RETURNING id到你的INSERT … SELECT:
原文链接:https://www.f2er.com/postgresql/193258.htmlWITH rows AS (...) INSERT INTO dealer (user_id) SELECT id FROM rows RETURNING id;