コンテンツへスキップ
uencoder

Trigger

トリガとは、特定のイベント(INSERT/UPDATE/DELETE)が発生したときに自動実行されるデータベースコードである。監査、カスケード、制約に使われる。

目的

データ変更時に、アプリケーションの明示的な呼び出しなしでロジックを自動実行する。

メカニズム

BEFORE/AFTER × 行レベル/文レベルのトリガがある。イベントが発生するとトリガ関数が自動実行される。監査ログ、カスケード更新、複雑な制約チェックによく使われるが、暗黙実行はデバッグが難しく、意図しないカスケードが起きることもある。

ユースケース

  • データ変更の監査ログ
  • カスケード更新と同期
  • 複雑な制約チェック
  • マテリアライズドビューの自動更新

例

  • 入力
    AFTER UPDATE ON users → log change
    Output
    Change recorded automatically

    Audit trigger

よくあるエラー

Trigger cascades cause recursion and deadlocks
Limit trigger depth and avoid cycles

関連用語

References