SAP HANA チュートリアル: シーケンスの作成
シークエンスとは?
シーケンスは、シーケンス仕様で指定されたルールに従って、数値の増分リストを自動的に生成するデータベース オブジェクトです。
たとえば、テーブルに新しいレコードが挿入されたときに、テーブルの列 (EMPLOYEE_NO) に従業員番号を自動的に挿入するには、シーケンスを使用します。
シーケンス値は昇順または降順で生成されます。
シーケンスはテーブルに関連付けられません。 これらはアプリケーションによって使用されます。 XNUMX つの値が連続しています –
- CURRVAL – シーケンスの現在の値を提供します。
- NEXTVAL – シーケンスの次の値を提供します。
構文
CREATE SEQUENCE <sequence_name> [<sequence_parameter_list>] [RESET BY <subquery>]
構文要素
要素 | DESCRIPTION |
---|---|
シーケンスの名前です。 | |
[ ] | XNUMX つ以上のシーケンス パラメータを指定します。 |
皮切りに | 開始シーケンス値を記述します。 |
インクリメントバイ | これは、新しいシーケンス値が生成されるたびに割り当てられた最後の値から増加する値を指定します。 デフォルトは 1 です。 |
マックスバリュー | シーケンスで生成できる最大値を指定します。 -4611686018427387903 から 4611686018427387902 までの値を指定できます。 |
最大値なし | NO MAXVALUE を指定すると、昇順シーケンスの最大値は 4611686018427387903 になり、降順シーケンスの最小値は -1 になります。 |
最小値/ 最小値なし | シーケンスが生成できる最小値を指定します。 -4611686018427387904 から 4611686018427387902 までの値を指定できます。NO MINVALUE が使用される場合、昇順シーケンスの最小値は 1 です。 |
CYCLE | CYCLE ディレクティブは、シーケンス番号が最大値または最小値に達した後に再開されることを指定します。 |
サイクルなし | デフォルトのオプション。NO CYCLE ディレクティブは、シーケンス番号が最大値または最小値に達した後に再開されないことを指定します。 |
キャッシュ/ | キャッシュ サイズは、ノードにキャッシュされるシーケンス番号の範囲を指定します。符号なし整数である必要があります。 |
キャッシュなし | デフォルトのオプション。 NO CACHE ディレクティブは、シーケンス番号がノードにキャッシュされないことを指定します。 |
リセット | データベースの再起動中に、データベースが自動的にそしてシーケンス値は戻り値で再開されます。 |
例–
DHK_SCHEMA.EMP_NO という名前のシーケンスを作成します。これにより、シーケンスが使用されるたびに +1 ずつ増加するシーケンスの値が作成されます。
シーケンススクリプト –
CREATE SEQUENCE DHK_SCHEMA.EMP_NO START WITH 100 INCREMENT BY 1.
ここでは、以下の例のオブジェクト「sequence」を使用して、選択クエリが実行されるたびに従業員番号の値を +1 ずつインクリメントします。 クエリでは、「nextval」をシリアル番号の生成または同じ種類の要件に使用できます。
シーケンスの使用 –
SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
OUTPUT – 100,101,102………上記の選択クエリを実行するたびに。