シーケンスジェネレーターの定義を変更します。
構文
ALTER SEQUENCE name [ INCREMENT BY increment ]
[ MINVALUE minvalue ] [ MAXVALUE maxvalue ]
[ CACHE cache | NOCACHE ] [ CYCLE ]
説明
ALTER SEQUENCE コマンドを使用して、シーケンスジェネレーターのパラメーターを変更できます。 ALTER SEQUENCE コマンドで指定されていないパラメーターは、以前の設定を保持します。
注 同じシーケンスから番号を取得する同時トランザクションをブロックしないようにするため、ALTER SEQUENCE コマンドを実行してもロールバックは発生しません。
変更はすぐに有効になり、元に戻すことはできません。
ALTER SEQUENCE コマンドは、NEXTVAL の結果にすぐには影響せず、事前割り当てされた (キャッシュされた) シーケンス値を持つバックエンド (現在のバックエンド以外) になります。 システムは、変更されたシーケンスパラメーターを検出する前に、キャッシュされた値を使用します。 現在のバックエンドはすぐに影響を受けます。
パラメーター
パラメーター | 説明 |
---|---|
name | 変更するシーケンスの名前。 名前はスキーマで修飾できます。 |
increment | INCREMENT BY increment 句はオプションです。 正の値は昇順を示し、負の値は降順を示します。 このパラメーターを指定しない場合、古い増分値が保持されます。 |
minvalue | MINVALUE minvalue 句はオプションであり、シーケンスが生成できる最小値を指定します。 このパラメーターを指定しない場合、現在の最小値が保持されます。 注記: NO MINVALUE キーワードを使用すると、昇順と降順のそれぞれにデフォルト値 1 と -263-1 を指定できます。 ただし、このキーワードは Oracle データベースと互換性がありません。 |
maxvalue | MAXVALUE maxvalue 句はオプションであり、シーケンスが生成できる最小値を指定します。 このパラメーターを指定しない場合、現在の最大値が保持されます。 注記: NO MAXVALUE キーワードを使用すると、昇順と降順のそれぞれにデフォルト値 263-1 と -1 を指定できます。 ただし、このキーワードは Oracle データベースと互換性がありません。 |
cache | CACHE キャッシュ句はオプションであり、高速アクセスのために事前に割り当てられ、メモリに格納されるシーケンス番号の数を指定します。 最小値は 1 で、唯一の値 NOCACHE は一度に 1 つしか生成できないことを示します。 このパラメーターを指定しない場合、以前にキャッシュされた値が保持されます。 |
CYCLE | 昇順のシーケンスが最大値に達したとき、または降順のシーケンスが最小値に達したときにシーケンスを折り返すことができます。 制約に達した場合、次に生成される数値は、minvalue または maxvalue パラメーターで指定された値です。 このパラメーターを指定しない場合、以前のサイクルが保持されます。 注記: NO CYCLE キーワードを使用して、シーケンスをリサイクルしないことを指定できます。 ただし、このキーワードは Oracle データベースと互換性がありません。 |
例
serial という名前のシーケンスの増分値とキャッシュ値を変更します。
ALTER SEQUENCE serial INCREMENT BY 2 CACHE 5;