On Fri, 19 Nov 2004 10:57:12 -0500 "Passynkov, Vadim" <[EMAIL PROTECTED]> wrote:
> > -----Original Message----- > > From: Erik Thiele [mailto:[EMAIL PROTECTED] > > Sent: Friday, November 19, 2004 3:42 AM > > To: [EMAIL PROTECTED] > > 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 ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster