PostgreSQL:将Select和Insert与返回的ID组合在一起

时间:2012-08-28 09:50:26

标签: sql postgresql

假设我有一张表temp123

Column      |      Type         |       Modifiers
------------+-------------------+------------------------
id          | integer           | not null default nextval('temp12_id_seq'::regclass)
description | character varying |

我想结合

返回的ID
INSERT INTO temp123 (description) 
      VALUES ('TESTING') RETURNING ID;

带有“SELECT”。例如(不起作用):

SELECT 23, x.* 
FROM (INSERT INTO temp123 (description) 
       VALUES ('TESTING') RETURNING id ) AS x;

PostgreSQL v9.0.2

1 个答案:

答案 0 :(得分:4)

您的示例中不需要SELECT部分​​。对于支持INSERT ... RETURNING(> = 8.2)的任何PG版本,将获得所需的结果:

insert into temp123(description) values('TESTING') returning 23,*;