このトピックでは、シーケンスの開始値を変更する方法と、シーケンスの型をある型から別の型に変換する方法について説明します。 複数のユニットを含むグループシーケンスは、別のタイプのシーケンスに変換することはできません。
注意事項
シーケンスの型をある型から別の型に変換する前に、次の点に注意してください。
- 複数のユニットを含むグループシーケンスを別のタイプのシーケンスに変換したり、UNIT COUNTパラメーターおよびINDEXパラメーターの値を変更したりすることはできません。 シーケンスタイプ、またはUNIT COUNTパラメーターまたはINDEXパラメーターの値を変更すると、シーケンスは期待どおりに機能しません。
- START WITHパラメーターの値を変更する前に、既存のシーケンス値とシーケンス値が生成される速度を分析して、重複するシーケンス値が生成されないようにします。 START withパラメーターの値を変更する場合は、注意して続行してください。
ALTER SEQUENCE CHANGE TOステートメントを実行して、シーケンスの型をある型から別の型に変換する場合は、START WITHパラメーターを設定する必要があります。 シーケンスを変更するために実行されるALTER SEQUENCEステートメントにCHANGE to句が含まれていない場合、START WITHパラメーターはオプションです。
新しいシーケンス
ALTER SEQUENCE <name> 構文[グループに変更 | 時間]
START WITH <数値>
[<数値> によってINCREMENT]
[MAXVALUE <数値>]
[CYCLE | NOCYCLE ] のパラメータ| パラメーター | 説明 |
| から始める | 新しいシーケンスの開始値。The start value for the new sequence. このパラメーターを設定しない場合、デフォルトの開始値が使用されます。 デフォルト値は 1 です。 |
| による増加 | 2つの隣接するシーケンス値間の増分。間隔値またはステップサイズとも呼ばれます。 このパラメーターを設定しない場合、デフォルトの開始値が使用されます。 デフォルト値は 1 です。 このパラメーターは、新しいシーケンスのプロパティを変更した場合にのみサポートされます。 新しいシーケンスをグループまたは時間シーケンスに変換する場合、このパラメーターはサポートされません。 |
| MAXVALUE | 新しいシーケンスの最大値。 値は正の整数でなければなりません。 このパラメーターを指定しない場合、デフォルトの最大値が使用されます。 デフォルトの最大値は9223372036854775807で、署名付きBIGINTデータ型です。 このパラメーターは、新しいシーケンスのプロパティを変更した場合にのみサポートされます。 新しいシーケンスをグループまたは時間シーケンスに変換する場合、このパラメーターはサポートされません。 |
| CYCLEまたはNOCYCLE | 選択できるパラメーターは1つだけです。
このパラメーターは、新しいシーケンスのプロパティを変更した場合にのみサポートされます。 新しいシーケンスをグループまたは時間シーケンスに変換する場合、このパラメーターはサポートされません。 |
説明
- 新しいシーケンスは、1つのユニットのみを含むグループシーケンスに変換できます。
- 新しいシーケンスが時間シーケンスに変換された後、シーケンスの元の開始値は無効になります。
グループシーケンス
ALTER SEQUENCE <name> [ CHANGE TO NEW | TIME] 構文
START WITH <数値>
[<数値> によってINCREMENT]
[MAXVALUE <数値>]
[CYCLE | NOCYCLE ] のパラメータ| パラメーター | 説明 |
| から始める | グループシーケンスの開始値。 このパラメーターを設定しない場合、デフォルトの開始値が使用されます。 デフォルト値は 1 です。 |
| による増加 | 2つの隣接するシーケンス値間の増分。間隔値またはステップサイズとも呼ばれます。 このパラメーターを設定しない場合、デフォルトの開始値が使用されます。 デフォルト値は 1 です。 このパラメーターは、グループシーケンスを新しいシーケンスに変換する場合にのみサポートされます。 |
| MAXVALUE | グループシーケンスの最大値。 値は正の整数でなければなりません。 このパラメーターを指定しない場合、デフォルトの最大値が使用されます。 デフォルトの最大値は9223372036854775807で、署名付きBIGINTデータ型です。 このパラメーターは、グループシーケンスを新しいシーケンスに変換する場合にのみサポートされます。 |
| CYCLEまたはNOCYCLE | 選択できるパラメーターは1つだけです。 このパラメーターは、グループシーケンスを新しいシーケンスに変換する場合にのみサポートされます。
|
説明
グループシーケンスをタイムシーケンスに変換すると、START WITH、INCREMENT BY、MAXVALUE、およびCYCLEまたはNOCYCLEパラメーターの値が無効になります。
タイムシーケンス
ALTER SEQUENCE <name> [ CHANGE TO NEW | GROUP] 構文
START WITH <数値>
[<数値> によってINCREMENT]
[MAXVALUE <数値>]
[CYCLE | NOCYCLE ] のパラメータ| パラメーター | 説明 |
| から始める | タイムシーケンスの開始値。 このパラメーターを設定しない場合、デフォルトの開始値が使用されます。 デフォルト値は 1 です。 |
| による増加 | 2つの隣接するシーケンス値間の増分。間隔値またはステップサイズとも呼ばれます。 このパラメーターを設定しない場合、デフォルトの開始値が使用されます。 デフォルト値は 1 です。 このパラメーターは、時間シーケンスを新しいシーケンスに変換する場合にのみサポートされます。 |
| MAXVALUE | タイムシーケンスの最大値。 値は正の整数でなければなりません。 このパラメーターを指定しない場合、デフォルトの最大値が使用されます。 デフォルトの最大値は9223372036854775807で、署名付きBIGINTデータ型です。 このパラメーターは、時間シーケンスを新しいシーケンスに変換する場合にのみサポートされます。 |
| CYCLEまたはNOCYCLE | 選択できるパラメーターは1つだけです。 このパラメーターは、時間シーケンスを新しいシーケンスに変換する場合にのみサポートされます。
|
説明 タイムシーケンスをグループシーケンスに変換すると、START WITH、INCREMENT BY、MAXVALUE、およびCYCLEまたはNOCYCLEパラメーターの値が無効になります。
例
- シーケンスの開始値を変更します。
ALTERシーケンスseq1 1000000で開始。 - シーケンスをグループシーケンスに変換します。
ALTERシーケンスseq2の変更により、2000000; - シーケンスを時間シーケンスに変換します。
ALTERシーケンスseq3変更時間; - シーケンスを新しいシーケンスに変換し、START WITH、MAXVALUE、CYCLEまたはNOCYCLEパラメータのデフォルト値を使用します。
ALTERシーケンスseq4が100で新しいスタートを切る。 - シーケンスを新しいシーケンスに変換し、START WITH、MAXVALUE、CYCLEまたはNOCYCLEパラメータの値を指定します。
ALTERシーケンスseq5が変更され、200が2 MAXVALUE 300 NOCYCLEによって増加します。