You can call currval on the sequence that provided the value for the primary key. It's guaranteed to be the last value retrieved from that sequence *for your session*.

insert into table1 (f1, f2) values ('a', 'b');

select currval('table1_seq');

Use the name of your sequence. If the primary key is a SERIAL type, then there will be a sequence in the background. I believe it's tablename_seq or something like that.

regards, adam

On Nov 6, 2003, at 11:26 AM, Eliu Montoya wrote:

<x-tad-bigger> </x-tad-bigger>

<x-tad-bigger> </x-tad-bigger>

 

Hello everybody,

Does anyone know an easy way to  insert a record (without a value for the primary key because it is a sequence)  and at the same time obtain the value of primary key that was assign to this new record.

 

I always try insert and then select with the same values that I used for the insert, but I believe this is not a good way to do it.

 

Any suggestions???

Reply via email to