文档出处:http://netkiller.github.io/POSTGResql/index.html
2.returning
例4.3.POSTGReSql Insert returning
test=# create table account(ID serial,name varchar,pass varchar); NOTICE: create table will create implicit sequence "account_ID_seq" for serial column "account.ID" create table test=# insert into account(name,pass) values('neo','chen') returning ID; ID ---- 1 (1 row) INSERT 0 1
returning p1,p2...
test=# insert into account(name,pass) values('jam','123'),('john','456') returning ID,name; ID | name ----+------ 2 | jam 3 | john (2 rows) INSERT 0 2
returning *
test=# insert into account(name,pass) values('sam',md5('123')),('ivan',md5('456')),('lily',md5('789')) returning *; ID | name | pass ----+------+---------------------------------- 4 | sam | 202cb962ac59075b964b07152d234b70 5 | ivan | 250cf8b51c773f3f8dc8b4be867a9a02 6 | lily | 68053af2923e00204c3ca7c6a3150cf7 (3 rows) INSERT 0 3
例4.4.POSTGResql update returning
test=# update account set pass = md5(pass) where ID=3 returning ID,pass; ID | pass ----+---------------------------------- 3 | 250cf8b51c773f3f8dc8b4be867a9a02 (1 row) updatE 1
test=# update account set pass = md5(pass) where ID < 3 returning *; ID | name | pass ----+------+---------------------------------- 1 | neo | a1a8887793acfc199182a649e905daab 2 | jam | 202cb962ac59075b964b07152d234b70 (2 rows) updatE 2
例4.5.POSTGResql delete returning
test=# delete from account where ID=6 returning ID,name; ID | name ----+------ 6 | lily (1 row) deletE 1
test=# delete from account where ID<6 returning *; ID | name | pass ----+------+---------------------------------- 4 | sam | 202cb962ac59075b964b07152d234b70 5 | ivan | 250cf8b51c773f3f8dc8b4be867a9a02 3 | john | 250cf8b51c773f3f8dc8b4be867a9a02 1 | neo | a1a8887793acfc199182a649e905daab 2 | jam | 202cb962ac59075b964b07152d234b70 (5 rows) deletE 5