Db2-sequences
DB2-シーケンス
この章では、シーケンスの概念、シーケンスの作成、シーケンスの表示、およびドロップについて紹介します。
前書き
シーケンスとは、一定の範囲内で昇順または降順で整数を生成して、主キーを生成し、テーブル内の他のキーを調整するソフトウェア関数です。 たとえば、employee_idやtransaction_idのように、整数を使用するためにシーケンスを使用します。 シーケンスは、SMALLINT、BIGINT、INTEGER、およびDECIMALデータ型をサポートできます。 シーケンスは、複数のアプリケーション間で共有できます。 シーケンスは、トランザクションに関係なく増分または減分されます。
シーケンスは、CREATE SEQUENCEステートメントによって作成されます。
シーケンスの種類
使用可能なシーケンスには2つのタイプがあります。
- NEXTVAL :シーケンス番号の増分値を返します。
- 前の値:最近生成された値を返します。
シーケンスのパラメーター
シーケンスには次のパラメーターが使用されます。
データ型:これは、返される増分値のデータ型です。 (SMALLINT、BIGINT、INTEGER、NUMBER、DOUBLE)
*START WITH* :シーケンスの開始基準値。
*MINVALUE* :開始するシーケンスの最小値。
*MAXVALUE* :シーケンスの最大値。
*INCREMENT BY* :シーケンスをインクリメントするステップ値。
シーケンスサイクリング:CYCLE句により、シーケンスが繰り返し生成されます。 シーケンス生成は、返された値を参照することで行われます。この値は、以前のシーケンス生成によってデータベースに保存されます。
シーケンスを作成する
次の構文を使用してシーケンスを作成できます。
構文:
db2 create sequence <seq_name>
例:[「sales1_seq」という名前で値を1から増やして新しいシーケンスを作成するには]
db2 create sequence sales1_seq as int start
with 1 increment by 1
シーケンスを表示する
次の構文を使用してシーケンスを表示できます。
構文:
db2 value <previous/next> value for <seq_name>
例:[シーケンス「sales1_seq」の以前の更新値のリストを表示するには]
db2 values previous value for sales1_seq
出力:
1
-----------
4
1 record(s) selected.
シーケンスのドロップ
シーケンスを削除するには、「DROP SEQUENCE」コマンドを使用する必要があります。 これがあなたのやり方です。
構文:
db2 drop sequence <seq_name>>
例:[データベースからシーケンス「sales1_seq」を削除するには]
db2 drop sequence sales1_seq
出力:
DB20000I The SQL command completed successfully.