Oracleで自動採番シーケンスを作成する方法

Oracleでは、シーケンス(Sequence)を使用して、自動生成のシーケンスを作成できます。シーケンスは、ユニークで増加する数字を生成するために使用される、独立したオブジェクトです。

シークエンスからオートインクリメントシークエンスを作成する手順は次のとおりです。

  1. シーケンスを作成する:CREATE SEQUENCE文を使用してシーケンスを作成します。例えば、「my_sequence」という名前で、開始値が1、増分値が1のシーケンスを作成するには:
CREATE SEQUENCE my_sequence
START WITH 1
INCREMENT BY 1;
  1. シーケンスの使用: データの挿入時には、シーケンスのNEXTVAL関数を使用して次のシーケンス値を取得し、テーブルに挿入します。たとえば、シーケンスの次の値をテーブル「my_table」の「id」列に挿入します:
INSERT INTO my_table (id, name)
VALUES (my_sequence.NEXTVAL, 'John');
  1. 現在のシーケンスの値を確認するには、シーケンスのCURRVAL関数が使用できます。たとえば、”my_sequence”シーケンスの現在の値を確認するには、次のようにします。
SELECT my_sequence.CURRVAL
FROM dual;

なおシークエンスを使用するときは、シークエンスの値はセッション単位で独立に保持され、自動的にロールバックされません。また、シークエンスはインクリメントのみ可能でデクリメントはできません。シークエンスの初期値を再設定する必要がある場合はALTER SEQUENCE文を使用します。

お役に立てれば幸いです!

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds