Re: Problems with transactions and sequences - Mailing list pgsql-general

From Tom Lane
Subject Re: Problems with transactions and sequences
Date
Msg-id 17286.1062082281@sss.pgh.pa.us
Whole thread Raw
In response to Problems with transactions and sequences  (Sune Nielsen <sunegn@image.dk>)
List pgsql-general
Sune Nielsen <sunegn@image.dk> writes:
> Now, the problem is that I wish to extract the sequence number from a
> newly inserted user, like this:

> INSERT INTO Users (name) VALUES ('JohnDoe');
> SELECT CURRVAL('users_bid_seq');

> This works perfectly(!), but my project involves multiple simultanous
> users so I have to use transactions like this:

> BEGIN;
> INSERT INTO Users (name) VALUES ('JohnDoe');
> SELECT CURRVAL('users_bid_seq');
> COMMIT;

No, you don't need the BEGIN/COMMIT.  Read the description of currval
again.

> This, however, doesn't work although I thought it should. It doesn't
> return anything at all?!?!

Surely it does.  You didn't say exactly what client-side code you are
using, but I suspect it's looking at the result of the COMMIT step
(ie, nothing) instead of the result of the prior SELECT.

            regards, tom lane

pgsql-general by date:

Previous
From: Thierry Missimilly
Date:
Subject: [Fwd: Postgresql-7.4beta1 compilation error]
Next
From: "Shridhar Daithankar"
Date:
Subject: Re: Problems with transactions and sequences