ALTER SEQUENCE
Purpose
Use the ALTER SEQUENCE statement to change the increment, minimum and maximum values, cached numbers, and behavior of an existing sequence. This statement affects only future sequence numbers.
See Also:
CREATE SEQUENCE for additional information on sequences
Prerequisites
The sequence must be in your own schema, or you must have the ALTER object privilege on the sequence, or you must have the ALTER ANY SEQUENCE system privilege.
Syntax
alter_sequence::=
Semantics
The keywords and parameters in this statement serve the same purposes they serve when you create a sequence.
-
To restart the sequence at a different number, you must drop and re-create it.
-
If you change the
INCREMENTBYvalue before the first invocation ofNEXTVAL, then some sequence numbers will be skipped. Therefore, if you want to retain the originalSTARTWITHvalue, you must drop the sequence and re-create it with the originalSTARTWITHvalue and the newINCREMENTBYvalue. -
If you alter the sequence by specifying the
KEEPorNOKEEPclause between runtime and failover of a request, then the original value ofNEXTVALis not retained during replay for Application Continuity for that request. -
Oracle Database performs some validations. For example, a new
MAXVALUEcannot be imposed that is less than the current sequence number.See Also:
CREATE SEQUENCE for information on creating a sequence and DROP SEQUENCE for information on dropping and re-creating a sequence
Examples
Modifying a Sequence: Examples
This statement sets a new maximum value for the customers_seq sequence, which was created in "Creating a Sequence: Example":
ALTER SEQUENCE customers_seq MAXVALUE 1500;
This statement turns on CYCLE and CACHE for the customers_seq sequence:
ALTER SEQUENCE customers_seq CYCLE CACHE 5;
