Re: currval() within one statement

From: Richard Huxton <dev(at)archonet(dot)com>
To: sad <sad(at)bankir(dot)ru>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: currval() within one statement
Date: 2008-01-22 09:13:56
Message-ID: 4795B3D4.5020201@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Guillaume Lelarge 2008-01-22 10:22:15 Re: currval() within one statement
Previous Message Guillaume Lelarge 2008-01-22 09:13:26 Re: currval() within one statement