Thread: Getting Sequence Value
I need to get the sequence value of a table before inserting a new record, so I am using currval, but I am getting an error stating that "currval is not defined for this session". I tried using nextval, but the sequence skips one value because nextval increments by one and also an additional increment is preformed by the insert operation.
How can I get the next available value avoiding these issues?
Regards,
Jorge Maldonado
On Tuesday, January 22, 2019, JORGE MALDONADO <jorgemal1960@gmail.com> wrote:
I need to get the sequence value of a table before inserting a new record, so I am using currval, but I am getting an error stating that "currval is not defined for this session". I tried using nextval, but the sequence skips one value because nextval increments by one and also an additional increment is preformed by the insert operation.How can I get the next available value avoiding these issues?
Use nextval but don’t throw the value away but pass it into the INSERT statement. Or rewrite so you perform the auto-increment and maybe use “RETURNING” to obtain the ID after the fact.
Dave