Skip site navigation (1) Skip section navigation (2)

Re: sequence value of the record just inserted.

From: Ben Kim <bkim(at)coe(dot)tamu(dot)edu>
To: pgsql-admin(at)postgresql(dot)org
Subject: Re: sequence value of the record just inserted.
Date: 2004-04-14 14:34:10
Message-ID: Pine.GSO.4.10.10404140834220.3753-100000@edsun.coe.tamu.edu (view raw or flat)
Thread:
Lists: pgsql-admin
Thanks to those who offered help,

The suggested solutions are,
1. Select nextval('myseq'), then use the nextval as the new id to
insert a new record. 
2. Insert a new record, then do select currval('myseq') or select last_val
from myseq; supposed to be safe 
3. use transaction to guarantee safety

As for solution 2, I wonder what the scope of a "session" is. If I call a
perl subroutine from a web page (the subroutine opens a db handle and
closes it at the end of the subroutine), would it count as one session?
I'll need to check more but would appreciate it if anyone has a ready
advice on this aspect.

Also, in perl DBI, the solutions all require executing at least 2 sql
statements.

I initially hoped there'd be a way to get the oid or sequence number at
the same time as executing an INSERT (one sql statement), like I get oid 
in psql. But I use perl DBI, so am not sure how I can get the oid into a
perl variable. 

I appreciate the help.


Regards,
Ben Kim



Responses

pgsql-admin by date

Next:From: Joe MaldonadoDate: 2004-04-14 14:54:22
Subject: Performance tuning for copy in
Previous:From: Donald FraserDate: 2004-04-14 14:28:08
Subject: Re: tcl-devel build dependencies for 7.4.2

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group