Oracleの自動採番IDを設定する方法

Oracleでは、シーケンス(Sequence)を用いると、自動採番のIDを設定することができます。シーケンスとは、自動的に増加する数字を生成するもので、テーブルの列に一意の連番値を生成するために使用できます。

次にシークエンスを使用して自動採番を行う方法を示す例を示します。

  1. 最初に、次のようなシーケンスを作成します。
CREATE SEQUENCE seq_name
START WITH 1  -- 序列起始值
INCREMENT BY 1  -- 每次递增的步长
NOCACHE;  -- 不缓存序列值
  1. 次にテーブルの定義で、自增ID列とシーケンスを関連付ける:
CREATE TABLE table_name (
id NUMBER DEFAULT seq_name.NEXTVAL,  -- 自增ID列
...
);

注意して、テーブルの定義でデフォルトキーワードを使用すると、ID自動列がシーケンスの次の値に設定されます。

  1. 最後に、新規レコードの挿入時には、シーケンスから連番のIDとして自動的に次の値を取得します。
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);

上記サンプルでは、id列は、自動的に、連番のIDとして、シーケンスの次の値を取得します。

シーケンスを利用することで、自動採番機能を実装することができ、新たに登録されるレコードID値の一意性を担保することができる。

bannerAds