INSTEAD OF トリガの使用
INSTEAD OF トリガは、INSERT、UPDATE、または DELETE というトリガを起動するステートメントの標準動作を置き換える働きをします。1 つ以上の列に対するエラー チェックや値チェックを実行する INSTEAD OF トリガを定義しておき、レコードを挿入する前に追加の処理を実行することができます。たとえば、経理テーブル内の時給列の値を更新するときに、更新する値が指定された値を超えている場合は、エラー メッセージを生成してトランザクションをロールバックするようにトリガを定義することができます。また、新しいレコードを経理テーブルに挿入する前に監査記録にそのレコードを挿入するようにトリガを定義することもできます。詳細については、「INSTEAD OF トリガのデザイン」を参照してください。
INSTEAD OF トリガは、テーブルとビューのどちらにも定義できますが、ビューでサポートできる更新の種類を拡張する場合に最も役立ちます。たとえば、INSTEAD OF トリガには、ビューで複数のベース テーブルを変更したり、次の型の列を含むベース テーブルを変更したりするロジックを定義できます。
- timestamp データ型
- 計算列
- ID 列
次のトピックでは、INSTEAD OF トリガの使用方法の詳細について説明します。
- INSTEAD OF INSERT トリガ
- INSTEAD OF UPDATE トリガ
- INSTEAD OF DELETE トリガ
- INSTEAD OF トリガの式と計算列
- INSTEAD OF トリガ内の text 型、ntext 型、および image 型のデータの使用