| From: | Magnus Hagander <magnus(at)hagander(dot)net> |
|---|---|
| To: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
| Cc: | Russ Brown <pickscrape(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org |
| Subject: | Re: MySQL LAST_INSERT_ID() to Postgres |
| Date: | 2008-08-29 07:41:14 |
| Message-ID: | 48B7A81A.9050506@hagander.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | J Welcomecert | 2008-08-29 12:39:44 | warning: libssl.so.4, needed by |
| Previous Message | Laura Del Caño | 2008-08-29 07:02:31 | Re: pg_dump problem |