Re: currval() within one statement - Mailing list pgsql-sql

From Richard Huxton
Subject Re: currval() within one statement
Date
Msg-id 4795B3D4.5020201@archonet.com
Whole thread Raw
In response to Re: currval() within one statement  (sad <sad@bankir.ru>)
Responses Re: currval() within one statement
List pgsql-sql
sad wrote:
> A. Kretschmer wrote:
> 
>>> is it expected that the currval() changes its value between calls 
>>> within one statement ?
> 
>> Conclusion, don't call nextval() within a TRIGGER, and insert either
>> nextval() for the column or omit this column.
> 
> I only note that i still want to discuss the titled problem or to be
> given an exact pointer to documentation regarding the currval() behavior
> in the described situation, that i had.

Well, the page in the docs isn't hard to find - http://www.postgresql.org/docs/8.2/static/functions-sequence.html

But surely it works exactly as you would expect it to.

nextval(S) advances the sequence and returns the new value

currval(S) returns the current value of sequence S, which is whatever 
the previous call to nextval(S) returned. In the even you haven't called  nextval(S) then it is undefined.


What do you think should happen?

--   Richard Huxton  Archonet Ltd


pgsql-sql by date:

Previous
From: Guillaume Lelarge
Date:
Subject: Re: currval() within one statement
Next
From: sad
Date:
Subject: Re: currval() within one statement