Oracle - シーケンスのリセット

  • コマンドによって作成されたシーケンスSEQをリセットするには
    •  CREATE SEQUENCE seq; 
  • 次のコマンドで現在の値を探します。
    •  DUALからのSEQ.CURRVAL SELECT。 
  • 次に、増分値VAL(現在の値 - 1)を追加してオプションを追加し、シーケンスを1にリセットしてシーケンスを変更します。
    •  -VALによるALTER SEQUENCE SEQ INCREMENT。 
  • その後、シーケンスをリセットするコマンドを実行します。
    •  SEQ.NEXTVAL SELECT FROM DUAL; 
  • シーケンスの増分を元に戻すには
    •  1によるALTER SEQUENCE SEQ INCREMENT。 

例:

 SQL> create sequence seq; シーケンスが作成されました。 SQL>デュアルからseq.nextvalを選択します。 NEXTVAL ---------- 1 SQL>デュアルからseq.nextvalを選択します。 NEXTVAL ---------- 2 SQL>デュアルからseq.nextvalを選択します。 NEXTVAL ---------- 3 SQL> seq.currvalをdualから選択します。 CURRVAL ---------- 3 SQL> sequence seq incrementを-2に変更する。 // 2 = SEQ.CURRVAL-1シーケンスが変更されました。 SQL>デュアルからseq.nextvalを選択します。 NEXTVAL ---------- 1 SQL> sequence seq incrementを1増やす。 シーケンスが変更されました。 
前の記事 次の記事

トップのヒント