SQL Server では、シーケンスを使用できません。

SQL Server において、シーケンスとはユニークな連番を生成するオブジェクトであり、主キーや一意な数値が必要なその他の列の生成に使用することができます。

Sequence の構文は次のようになります。

  1. シーケンスオブジェクトを作成します。
CREATE SEQUENCE sequence_name
    AS data_type
    START WITH start_value
    INCREMENT BY increment_value
    MINVALUE min_value
    MAXVALUE max_value
    CYCLE | NO CYCLE
    CACHE cache_size;

内訳として

  1. シーケンス名はSequenceのものです。
  2. data_type は Sequence で生成される数値のデータ型で、INT や BIGINT などがあります。
  3. start_valueはSequenceで生成された最初の数値です。
  4. increment_valueは、生成される数値ごとの増加量のことです。
  5. min_valueはSequenceが生成する最小値です。
  6. max_valueはシーケンス生成の最大値です。
  7. 最大値に達したら最小値からサイクルを繰り返すかどうかを示します。
  8. キャッシュサイズとは、メモリ上にキャッシュされる値の量のことです。
  1. シーケンスによる数値生成
NEXT VALUE FOR sequence_name

NEXT VALUE FOR ステートメントを使用すると、シーケンスによって生成される次の値を取得できます。

例えば、シーケンスオブジェクトを作成し、それを使って数値のシーケンスを生成する例

CREATE SEQUENCE seq_employee_id
    AS INT
    START WITH 1
    INCREMENT BY 1
    MINVALUE 1
    MAXVALUE 1000
    NO CYCLE
    CACHE 10;

-- 使用Sequence生成数值
SELECT NEXT VALUE FOR seq_employee_id;

-- 结果为1
SELECT NEXT VALUE FOR seq_employee_id;

-- 结果为2

シーケンスを使用すれば、一意で重複のない数値が生成可能です。主キーや一意識別子、その他一意の数値が必要となる列の作成にあてることができます。

bannerAds