ホームページ  >  記事  >  データベース  >  Oracleでシーケンスを変更する方法

Oracleでシーケンスを変更する方法

WBOY
WBOYオリジナル
2022-05-25 16:19:234521ブラウズ

方法: 1. DROP SEQUENCE ステートメントを使用してシーケンスを削除し、Create sequence ステートメントを使用して新しいシーケンスを作成します。 2. Increment By を使用してシーケンスの初期値と構文を変更します。は「ALTER SEQUENCE...INCREMENT BY 値」です。

Oracleでシーケンスを変更する方法

このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。

Oracle でシーケンスを変更する方法

Oracle シーケンス (シーケンス) は主にシリアル番号を生成するために使用され、特にテーブルの主キーとして使用される ID 値としてアプリケーションでよく使用されます。 . .

ただし、シーケンスの初期値 (START WITH) を変更する必要がある場合、一部の同僚は次のステートメントを使用して変更します: alter sequence sequencename start with xxxxxxxx。ただし、Oracle DB には、シーケンスを変更するためのそのような構文はありません。いくつかの変更方法を次に示します:

1. まずシーケンスを削除してから、再度作成します。

この方法はより暴力的で、より便利です。シーケンスが使用されている場合、アプリケーションの通常の使用に影響します。

条件文が追加されない場合、作成されるデフォルトのシーケンス形式は次のとおりです。

Oracleでシーケンスを変更する方法

セマンティクス:

INCREMENT BY: を指定します。シーケンスの成長ステップが長い。正の整数 (昇順) または負の整数 (降順) を指定できますが、0 は指定できません。最大精度28。

START WITH: シーケンスの開始番号を指定します。デフォルトはシーケンスの最小値です。

MAXVALUE: シーケンスの最大値を指定します。最大28ビット。開始値以上、かつシーケンスの最小値以上である必要があります。

NOMAXVALUE: 最大値はありません (実際には 10^27 または -1)。 default

MINVALUE: シーケンスの最小値を指定します。

NOMINVALUE: 最小値はありません (実際には 1 または -10^26)。デフォルト

CYCLE: 最大値または最小値に達した後もシーケンスが最初から生成され続けることを指定します。

NOCYCLE: サイクル生成はありません。 Default.

CACHE: 迅速な取得のためにデータベース メモリに事前に割り当てられるシーケンス値の数を指定します。最小キャッシュ値は 2 です。

シーケンスを削除するには、任意のシーケンスの削除権限が必要です

構文:

Oracleでシーケンスを変更する方法

#例:

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。