Db2-sequences

提供:Dev Guides
移動先:案内検索

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.