データベーストリガ

データベーストリガは、表に対するイベントに反応して自動的に実行される操作を意味する。トリガはデータ操作言語によるデータ状態の管理を自動化するために用いられる。トリガを利用することで、データ操作の限定、操作の記録、変更操作の監査などを行うことができる。
トリガの種類.
トリガには大きく分けて「行トリガ」と「文トリガ」の2つの種類がある。
また、トリガは以下の属性を持つ。
一般的に、トリガは以下の3つのイベントにより起動される。トリガでは SELECT 文によるデータ取得に影響を及ぼすことはできない。
Oracle のトリガ.
Oracle Database では標準のトリガの他、Oracle 9i にて「スキーマレベルトリガ」と呼ばれる、スキーマの変更やユーザのログイン／ログオフに対するトリガが追加された。
Microsoft SQL Server のトリガ.
Microsoft SQL Server では標準のトリガの他、ビューに対して INSTEAD OF トリガを定義できる。また、Microsoft SQL Server 2005 にて データ定義言語 (DDL) トリガが追加された。
PostgreSQL のトリガ.
PostgreSQL はバージョン 6.2 (1997年) から標準トリガがサポートされている。さらにバージョン 8.4 で TRUNCATE イベント、9.0 で UPDATE OF, WHEN 句をサポートした。
トリガにて実行される処理は直接記述せず、関数として与える。
文法：
 ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
 [ WHEN (...) ] EXECUTE PROCEDURE funcname ( arguments )
MySQL のトリガ.
MySQL はバージョン 5.0.2 にて標準トリガがサポートされた。
文法：
 CREATE TRIGGER salary_trigger
 BEFORE UPDATE ON employee_table
 REFERENCING NEW ROW AS n, OLD ROW AS o
 FOR EACH ROW
 IF n.salary <> o.salary THEN
 END IF;