PREVIOUS VALUE FOR

Syntax

PREVIOUS VALUE FOR sequence_name

or

LASTVAL(sequence_name)

or in Oracle mode (SQL_MODE=ORACLE)

sequence_name.currval

PREVIOUS VALUE FOR is IBM DB2 syntax while LASTVAL() is PostgreSQL syntax.

Description

Gets the most recent value in the current connection generated from a sequence.

  • If the sequence has not yet been used by the connection, PREVIOUS VALUE FOR returns NULL (the same thing applies with a new connection which doesn't see a last value for an existing sequence).

  • If a SEQUENCE has been dropped and re-created then it's treated as a new SEQUENCE and PREVIOUS VALUE FOR will return NULL.

  • Returns NULL if the sequence is complete.

  • FLUSH TABLES has no effect on PREVIOUS VALUE FOR.

  • Previous values for all used sequences are stored per connection until connection ends.

  • PREVIOUS VALUE FOR requires the SELECT privilege.

Examples

Now try to start the new connection and check that the last value is still NULL, before updating the value in the new connection after the output of the new connection gets current value (110 in the example below). Note that first connection cannot see this change and the result of last value still remains the same (100 in the example above).

Returns NULL if the sequence has run out:

See Also

This page is licensed: CC BY-SA / Gnu FDL

Last updated

Was this helpful?