Re: MySQL LAST_INSERT_ID() to Postgres - Mailing list pgsql-general

From Magnus Hagander
Subject Re: MySQL LAST_INSERT_ID() to Postgres
Date
Msg-id 48B7A81A.9050506@hagander.net
Whole thread Raw
In response to Re: MySQL LAST_INSERT_ID() to Postgres  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: MySQL LAST_INSERT_ID() to Postgres  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-general
Alvaro Herrera wrote:
> Russ Brown escribió:
>> Masis, Alexander (US SSA) wrote:
>>>    "SELECT CURRVAL(
>>> pg_get_serial_sequence('my_tbl_name','id_col_name'));"
>> Any reason why you can't just do this?
>>
>> CREATE FUNCTION last_insert_id() RETURNS bigint AS $$
>>   SELECT lastval();
>> $$ LANGUAGE SQL VOLATILE;
>
> If your table has a trigger that inserts into another table with its own
> sequence, you're screwed.

I assume you're equally screwed with MySQL LAST_INSERT_ID() in that case
- so it'd be bug compatible.

I know MSSQL had similar issues with the use of @@IDENTITY - which is
why they went down the ugly path of SCOPE_IDENTITY(). Why they didn't
just implement RETURNING, I have no idea...

//Magnus


pgsql-general by date:

Previous
From: "Laura Del Caño"
Date:
Subject: Re: pg_dump problem
Next
From: "Roberts, Jon"
Date:
Subject: Re: temp schemas