Read the FAQ. Your currval assumption is wrong. ---------------------------------------------------------------------------
mgarriss wrote: > Given this table: > > CREATE TABLE test ( id SERIAL, example TEXT ); > > An implicit sequence is created as show in this message: > > NOTICE: CREATE TABLE will create implicit sequence 'test_id_seq' for > SERIAL column 'test.id' > > How do I retrieve the last 'id' that was inserted? I have a process > that does an insert and then needs the value of the id column of the row > it just inserted so that that row can be used later in processing. > First thought is "SELECT CURRVAL('test_id_seq');" but this assumes that > there is only one connection inserting into this table, bad assumption. > Next idea is the make 'id' an INT4 and set it explicitly with a value > that I select from an explicitly created sequence. This method seems a > bit inelegant. Any ideas? > > TIA > Michael Garriss > > > ---------------------------(end of broadcast)--------------------------- > TIP 9: the planner will ignore your desire to choose an index scan if your > joining column's datatypes do not match > -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend