トリガーは、テーブルに関連付けられ、データベースに格納されている名前付きの構造化プロセス言語 (SPL) コードブロックです。 関連するテーブルで指定されたイベントが発生すると、SPL コードブロックが実行されます。 トリガーは、コードブロックが実行されたときに起動したと見なされます。
トリガーを起動させるイベントとして、テーブルに対して直接または間接的に実行された挿入、更新、または削除を組み合わせて指定できます。 テーブルが SQL INSERT、UPDATE、または DELETE 文の対象である場合、対応する挿入、更新、または削除イベントがトリガーイベントとして定義されていると想定して、トリガーが直接起動されます。 トリガーを起動するイベントは CREATE TRIGGER 文で定義します。
別のテーブルで開始されたイベントの結果としてテーブルでトリガーイベントが発生した場合、トリガーは間接的に起動できます。 たとえば、ON DELETE CASCADE 句が定義された外部キーを含むテーブルにトリガーが設定されていて、親テーブルの行が削除された場合、子テーブルの該当する行も削除されます。 削除が子テーブルのトリガーイベントである場合、子を削除するとトリガーが起動します。