SQLトリガーの使用方法


下記に、いくつかの一般的なトリガーの例と、それぞれの使用方法を示します。

  1. データの挿入トリガー: データが特定のテーブルに挿入されるときに実行されるトリガーです。以下は、従業員テーブルに新しい行が挿入されたときに、別のテーブルに関連データを自動的に挿入するトリガーの例です。
CREATE TRIGGER insert_employee_trigger
AFTER INSERT ON employees
FOR EACH ROW
BEGIN
  INSERT INTO employee_logs (employee_id, action) VALUES (NEW.id, 'Inserted');
END;
  1. データの更新トリガー: データが特定のテーブルで更新されたときに実行されるトリガーです。以下は、注文テーブルの特定の列が更新されたときに、注文のステータスを自動的に更新するトリガーの例です。
CREATE TRIGGER update_order_trigger
AFTER UPDATE ON orders
FOR EACH ROW
BEGIN
  IF NEW.status <> OLD.status THEN
    UPDATE order_status SET status = NEW.status WHERE order_id = NEW.id;
  END IF;
END;
  1. データの削除トリガー: データが特定のテーブルから削除されたときに実行されるトリガーです。以下は、商品テーブルから商品が削除されたときに、在庫テーブルの在庫数を自動的に更新するトリガーの例です。
CREATE TRIGGER delete_product_trigger
AFTER DELETE ON products
FOR EACH ROW
BEGIN
  UPDATE inventory SET quantity = quantity - OLD.quantity WHERE product_id = OLD.id;
END;

これらは一部の一般的なトリガーの例です。トリガーは、データベースの要件に応じてさまざまな方法で使用することができます。使用例やさらなる情報を求める場合は、データベースの仕様やドキュメントを参照してください。