Oracleのトリガーで自動増加機能を実現する方法は?

自動インクリメント機能を実現するために、トリガー内でシーケンスを使用することで自動インクリメント効果を実現できます。以下はサンプルコードです:

CREATE SEQUENCE my_seq START WITH 1 INCREMENT BY 1;

CREATE OR REPLACE TRIGGER my_trigger
BEFORE INSERT ON my_table
FOR EACH ROW
BEGIN
  SELECT my_seq.NEXTVAL INTO :new.id FROM dual;
END;
/

コードの最初に、まずmy_seqというシーケンスを作成し、その後にmy_triggerというトリガーを作成しました。my_tableテーブルに新しいレコードを挿入する際、トリガーは自動的にid列にシーケンスmy_seqの次の値を割り当てることができます。これにより自動増加機能が実現されます。

bannerAds