【Oracle】シーケンス(sequence)の値を変更する方法

Oracleのシーケンス(sequence)について、不用意に発番が進んでしまうケースが何度か発生したので、シーケンスを作成し直す方法をここにメモしておきます。

ポイントとしては、現状のシーケンスを一旦削除し、初期値を主キーの最大値に+1した値でを再作成することです。

 

-- シーケンス(sequence)の削除
-- DROP SEQUENCE <シーケンス名>;
SQL> DROP SEQUENCE M_USER_SEQ;

-- シーケンス(sequence)の再作成
/* CREATE SEQUENCE <シーケンス名> 
    MINVALUE 1 
    MAXVALUE 99999999999 
    INCREMENT BY 1 
    START WITH <初期値>;*/
SQL> CREATE SEQUENCE M_USER_SEQ  MINVALUE 1 MAXVALUE 99999999999 INCREMENT BY 1 START WITH 600 CACHE 20 NOORDER  NOCYCLE;

 

上記クエリを実行することで、初期値が600のシーケンスが再作成されます。

もしかしたらALTER文とかでもっといい方法があるかもしれませんが、自分は一旦この方法で対応できました。

 

Oracleシーケンス関連記事

【ORACLE】シーケンス(sequence)を使って自動発番する

【Oracle】現在のシーケンス(sequence)の確認方法



投稿日:2020-01-07    更新日:2020-01-07

[スポンサーリンク]

関連記事
勉強した内容を緩くメモする|JBの技術メモ
勉強した内容を緩くメモする|JBの技術メモ
勉強した内容を緩くメモする|JBの技術メモ
勉強した内容を緩くメモする|JBの技術メモ
勉強した内容を緩くメモする|JBの技術メモ
勉強した内容を緩くメモする|JBの技術メモ
サイト内検索
プロフィール

プロフィール

[Name : じゃぶじゃぶ(@jbjb_2019)]
都内で社内SEをしているおじさん。
仕事で得られる知識だけでは限界を感じ、 WEBの勉強がてらITブログを開始。
サーバからWEBサイトまでフルスクラッチで開発しました。
現在は勉強のモチベーションを保つために活用中。
興味があることを雑記的に書いていきます。

[スポンサーリンク]

[スポンサードリンク]