Re: get sequence value of insert command - Mailing list pgsql-sql

From Erik Thiele
Subject Re: get sequence value of insert command
Date
Msg-id 20041120102446.4a887124.erik@thiele-hydraulik.de
Whole thread Raw
In response to Re: get sequence value of insert command  ("Passynkov, Vadim" <Vadim.Passynkov@pathcom.com>)
List pgsql-sql
On Fri, 19 Nov 2004 10:57:12 -0500
"Passynkov, Vadim" <Vadim.Passynkov@pathcom.com> wrote:

> > -----Original Message-----
> > From: Erik Thiele [mailto:erik@thiele-hydraulik.de]
> > Sent: Friday, November 19, 2004 3:42 AM
> > To: pgsql-sql@postgresql.org
> > Subject: [SQL] get sequence value of insert command
> > 
> > create sequence mysequence;
> > 
> > create table foo(
> >   id integer default nextval('mysequence'),
> >   bla text,
> >   wombat integer,
> >   foobar date,
> >   primary key(id)
> > );
> > 
> > insert into foo (wombat) values (88);
> > 
> > now how do i know the id of my newly inserted element? and
> > how can this be done in a completely concurrency safe way?
> 
> CREATE RULE get_pkey_on_insert AS ON INSERT TO foo DO SELECT
> currval('mysequence') AS id LIMIT 1;

now that one is really great! you should definitly add it to the
faq. plus an additional explanation why the limit 1 is needed here.

thanks!
erik


pgsql-sql by date:

Previous
From: Don Drake
Date:
Subject: Re: NULLS and string concatenation
Next
From: Markus Schaber
Date:
Subject: Re: Move table between schemas