方法: 1. DROP SEQUENCE ステートメントを使用してシーケンスを削除し、Create sequence ステートメントを使用して新しいシーケンスを作成します。 2. Increment By を使用してシーケンスの初期値と構文を変更します。は「ALTER SEQUENCE...INCREMENT BY 値」です。
このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。
Oracle シーケンス (シーケンス) は主にシリアル番号を生成するために使用され、特にテーブルの主キーとして使用される ID 値としてアプリケーションでよく使用されます。 . .
ただし、シーケンスの初期値 (START WITH) を変更する必要がある場合、一部の同僚は次のステートメントを使用して変更します: alter sequence sequencename start with xxxxxxxx。ただし、Oracle DB には、シーケンスを変更するためのそのような構文はありません。いくつかの変更方法を次に示します:
1. まずシーケンスを削除してから、再度作成します。
この方法はより暴力的で、より便利です。シーケンスが使用されている場合、アプリケーションの通常の使用に影響します。
条件文が追加されない場合、作成されるデフォルトのシーケンス形式は次のとおりです。
セマンティクス:
INCREMENT BY: を指定します。シーケンスの成長ステップが長い。正の整数 (昇順) または負の整数 (降順) を指定できますが、0 は指定できません。最大精度28。
START WITH: シーケンスの開始番号を指定します。デフォルトはシーケンスの最小値です。
MAXVALUE: シーケンスの最大値を指定します。最大28ビット。開始値以上、かつシーケンスの最小値以上である必要があります。
NOMAXVALUE: 最大値はありません (実際には 10^27 または -1)。 default
MINVALUE: シーケンスの最小値を指定します。
NOMINVALUE: 最小値はありません (実際には 1 または -10^26)。デフォルト
CYCLE: 最大値または最小値に達した後もシーケンスが最初から生成され続けることを指定します。
NOCYCLE: サイクル生成はありません。 Default.
CACHE: 迅速な取得のためにデータベース メモリに事前に割り当てられるシーケンス値の数を指定します。最小キャッシュ値は 2 です。
シーケンスを削除するには、任意のシーケンスの削除権限が必要です
構文:
#例:DROP SEQUENCE oe.customers_seq;
2. Increment By を使用して初期値を変更します。
例: シーケンス名が SEQ_TEST、初期値が 13 で、初期値を 1013 に設定する場合、Increment By 値は次のようになります: 1000(1013-13)1) 実行:ALTER SEQUENCE SEQ_TEST INCREMENT BY 1000;2) 実行:
SELECT SEQ_TEST.NEXTVAL FROM DUAL;3) 実行:
ALTER SEQUENCE SEQ_TEST INCREMENT BY 1;推奨チュートリアル: 「
Oracle Video Tutorial##」 #" #
以上がOracleでシーケンスを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。