簡體   English   中英

postgresql - 使用剛剛創建的標識值來返回新插入的行

[英]postgresql - use just created identity value to return newly inserted row

使用SQL Server我可以寫下面的語句......

create table Person(
    id int identity(1,1),
    name varchar(50)
)

insert into Person(name) values ('John')
select * from Person where id = scope_identity()

在Postgres我可以這樣做:

CREATE TABLE public.Person
(
  id serial primary key,
  name character varying(10) NOT NULL
)

INSERT INTO Person(name) VALUES ('Smith', 'John') RETURNING id;

我如何編寫一個等效語句,就像我在SQL示例中所做的那樣,不返回id,而是剛剛插入的整行?

正如@ cur4so所述,或者說

INSERT INTO Person(name) VALUES ('Smith', 'John') RETURNING *;
INSERT INTO Person (name) VALUES ('Smith John'); 
select * from Person where id = currval('person_id_seq'); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM