この記事ではシーケンスの値を変更する方法について解説します。
シーケンスの値を変更する方法
DBを移行した際などにシーケンスの値を変更したい場合があるかと思います。
シーケンスの値を変更したい際は、従来の方法では一度シーケンスを削除し再作成する必要がありました。
しかし、18cからシーケンスの値を変更できるようになりました。
シーケンスの値は下記のSQLで変更することができます。
ALTER SEQUENCE <シーケンス名> RESTART [START WITH <番号>];
START WITH句を指定しない場合は値は1にリセットされます。
変更例
シーケンス「TEST_SQ」の値を100に変更します。
SQL> ALTER SEQUENCE TEST_SQ RESTART START WITH 100;
順序が変更されました。
シーケンスの値を確認します。
SQL> SELECT sequence_name,last_number FROM user_sequences
2 WHERE sequence_name = 'TEST_SQ';
SEQUENCE_NAME LAST_NUMBER
------------- ------------
TEST_SQ 100
値が100に変更されました。