NEXT VALUE FOR sequence
or in Oracle mode (SQL_MODE=ORACLE)
NEXT VALUE FOR is ANSI SQL syntax while
NEXTVAL() is PostgreSQL syntax.
Generate next value for a
- You can greatly speed up
NEXT VALUEby creating the sequence with the
CACHEoption. If not, every
NEXT VALUEusage will cause changes in the stored
- When using
NEXT VALUEthe value will be reserved at once and will not be reused, except if the
SEQUENCEwas created with
CYCLE. This means that when you are using
SEQUENCEs you have to expect gaps in the generated sequence numbers.
- If one updates the
SEQUENCEwith SETVAL() or ALTER SEQUENCE ... RESTART,
NEXT VALUE FORwill notice this and start from the next requested value.
- FLUSH TABLES will close the sequence and the next sequence number generated will be according to what's stored in the
SEQUENCEobject. In effect, this will discard the cached values.