Oracleでは、既存のシーケンスの現在値を直接更新することはできませんが、シーケンスの値を進める方法があります。以下の手順でシーケンスの値を更新できます。
シーケンスの値を進める手順
- シーケンスの増分値を一時的に変更:
ALTER SEQUENCE シーケンス名 INCREMENT BY 新しい増分値 NOCACHE; - シーケンスの次の値を取得:
SELECT シーケンス名.NEXTVAL FROM dual; - シーケンスの増分値を元に戻す:
ALTER SEQUENCE シーケンス名 INCREMENT BY 元の増分値 NOCACHE;
具体例
例えば、MY_SEQというシーケンスの現在値を5000進めたい場合は、以下のようにします:
-- シーケンスの増分値を5000に変更
ALTER SEQUENCE MY_SEQ INCREMENT BY 5000 NOCACHE;
-- シーケンスの次の値を取得
SELECT MY_SEQ.NEXTVAL FROM dual;
-- シーケンスの増分値を元に戻す
ALTER SEQUENCE MY_SEQ INCREMENT BY 1 NOCACHE;
この手順により、シーケンスの値を進めることができます123。
他に質問があれば教えてくださいね。

コメント