【Oracle】トリガーを作成する方法

Oracleデータベースでトリガーを使用することは、データの変更時に自動的に特定の処理を実行する効果的な方法です。この記事では、Oracleでトリガーを作成する手順を詳しく解説します。

トリガーの基本構文

Oracleでトリガーを作成するための基本的な構文は以下の通りです。

CREATE [OR REPLACE] TRIGGER トリガー名
{BEFORE | AFTER | INSTEAD OF} {INSERT | UPDATE | DELETE}
ON テーブル名
[FOR EACH ROW]
BEGIN
    -- トリガーの処理内容をここに記述します
END;

トリガーの作成例

実際の例として、新しい行が挿入された際にログを記録するトリガーを作成する方法を示します。

CREATE OR REPLACE TRIGGER log_employee_insert
AFTER INSERT ON employees
FOR EACH ROW
BEGIN
    INSERT INTO employee_log (employee_id, action, log_date)
    VALUES (:NEW.employee_id, 'INSERT', SYSDATE);
END;

この例では、employees テーブルに新しい行が挿入される度に、employee_log テーブルにその行の情報が記録されます。

トリガーのオプション

  • OR REPLACE を使用すると、既存の同名のトリガーを置き換えることができます。
  • BEFORE、AFTER、INSTEAD OF を使用してトリガーが反応するタイミングを指定します。
  • FOR EACH ROW を指定すると、行ごとにトリガーが実行されます。

まとめ

この記事では、Oracleでトリガーを作成する基本的な手順と構文について紹介しました。トリガーを使用することで、データの変更に対して柔軟に反応し、自動化された処理を実現することができます。詳細な情報や具体的な使用例については、Oracleの公式ドキュメントを参照することをお勧めします。