Wednesday, 11 July 2012
Setting a sequence to a specific number
Sometimes there is a need to set, or reset, a sequence number to a specific number. There are a number of ways to do this but I think the following is the easiest.
First find what the current value is
SELECT ex_sequence_number.CURRVAL FROM dual
12759
Say we want to set the value to 50,000 then you need work out the different between 50,000 and 12,759 which = 37241.
So then you change the increment so the next time you get a value it changes by that amount.
ALTER SEQUENCE ex_sequence_number INCREMENT BY 37241;
Then get the next value
SELECT ex_sequence_number.NEXTVAL FROM dual;
50000
Then you MUST set the value back to the original increment.
ALTER SEQUENCE ex_sequence_number INCREMENT BY 1;
So now the sequence is at 50,000 and ready to increment again by 1.
Subscribe to:
Posts (Atom)