シーケンス作成後は ALTER SEQUENCE ステートメントを使用して、シーケンスの属性を変更できます。OceanBaseデータベースでは、シーケンスの開始値、最小値、最大値、ステップサイズ、および繰り返し属性を変更できます。
シーケンスを変更するSQL構文は以下のとおりです:
ALTER SEQUENCE [database_name.]sequence_name
{
[RESTART]
|[START WITH int_value]
|[MINVALUE int_value | NOMINVALUE]
|[MAXVALUE int_value | NOMAXVALUE]
|[INCREMENT BY int_value]
|[CACHE int_value | NOCACHE]
|[ORDER | NOORDER]
|[CYCLE | NOCYCLE]
};
このステートメントを実行するユーザーには ALTER 権限が付与されていなければなりません。
例:
シーケンス
seq2の最大値を変更し、自動増分で繰り返し生成するように指定します。obclient> ALTER SEQUENCE seq2 MAXVALUE 1024 CYCLE;シーケンスの開始値を変更します。
INCREMENT BYの値が0より大きい場合、シーケンスをリセットした後、MINVALUEから値を取得させることができます。INCREMENT BYの値が0より小さい場合、シーケンスをリセットした後、MAXVALUEから値を取得させることができます。ステートメントは以下のとおりです:obclient> ALTER SEQUENCE seq3 RESTART; Query OK, 0 rows affectedシーケンスをリセットし、値を
3から取得させるようにします。ステートメントは以下のとおりです:obclient> ALTER SEQUENCE seq4 RESTART START WITH 3; Query OK, 0 rows affected
シーケンスの開始値を変更する際、
RESTARTはステートメント内で必ずしもシーケンス名の後に来る必要はありません。ステートメント内の任意の位置に配置できます。例:obclient> ALTER SEQUENCE seq4 START WITH 3 RESTART MINVALUE -100 CYCLE; Query OK, 0 rows affected
ALTER SEQUENCE ステートメントの詳細については、ALTER SEQUENCEを参照してください。
関連ドキュメント
シーケンスに関するその他の操作については、以下のドキュメントを参照してください: