シーケンスの値を変更する方法

この記事ではシーケンスの値を変更する方法について解説します。

 シーケンスの値を変更する方法

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に変更されました。