INSTEAD OF トリガの使用

INSTEAD OF トリガは、INSERT、UPDATE、または DELETE というトリガを起動するステートメントの標準動作を置き換える働きをします。1 つ以上の列に対するエラー チェックや値チェックを実行する INSTEAD OF トリガを定義しておき、レコードを挿入する前に追加の処理を実行することができます。たとえば、経理テーブル内の時給列の値を更新するときに、更新する値が指定された値を超えている場合は、エラー メッセージを生成してトランザクションをロールバックするようにトリガを定義することができます。また、新しいレコードを経理テーブルに挿入する前に監査記録にそのレコードを挿入するようにトリガを定義することもできます。詳細については、「INSTEAD OF トリガのデザイン」を参照してください。

INSTEAD OF トリガは、テーブルとビューのどちらにも定義できますが、ビューでサポートできる更新の種類を拡張する場合に最も役立ちます。たとえば、INSTEAD OF トリガには、ビューで複数のベース テーブルを変更したり、次の型の列を含むベース テーブルを変更したりするロジックを定義できます。

  • timestamp データ型

  • 計算列

  • ID 列

次のトピックでは、INSTEAD OF トリガの使用方法の詳細について説明します。