トリガー (Visual Database Tools)
Visual Database Tools は、DML トリガーをサポートしています。 DML トリガーは、データベース内でデータ操作言語 (DML: Data Manipulation Language) イベントが発生したときに呼び出されます。 DML イベントには、指定されたテーブルまたはビュー内のデータを変更する INSERT、UPDATE、または DELETE ステートメントが含まれます。 DML トリガーでは、他のテーブルに対するクエリや、複雑な Transact-SQL ステートメントを指定できます。 トリガーとトリガーを発生させるステートメントは 1 つのトランザクションとして扱われ、トリガー内からロールバックできます。 重大なエラーが検出された場合 (ディスク容量の不足など) は、トランザクション全体が自動的にロールバックされます。
関連項目
DML トリガーには、次の利点があります。
データベース内の関連テーブル間で連鎖変更を行うことができます。ただし、この変更を行うには、連鎖参照整合性制約を使用する方が効率的です。
悪質または不正な INSERT、UPDATE、および DELETE 操作を防ぎ、CHECK 制約で定義されているよりも複雑なその他の制限も適用します。
CHECK 制約とは異なり、DML トリガーでは他のテーブルの列を参照できます。 たとえば、別のテーブルの SELECT を使用して、挿入または更新されたデータと比較し、データの変更やユーザー定義のエラー メッセージの表示などの追加の処理を実行できます。
データ変更の前後でテーブルの状態を評価して、その違いに基づいて処理を実行できます。
1 つのテーブルに同じタイプ (INSERT、UPDATE、または DELETE) の DML トリガーが存在すると、1 つの変更ステートメントへの応答で、複数の異なる処理を実行できます。