自動トリガ(Trigger)は、データベース内で特定のイベント(挿入、更新、削除操作など)が発生した場合に自動的に実行をトリガする暗黙的に実行されるストアド・プロシージャであり、主にデータ整合性制御、ビジネス・ルール強制、監査追跡などのシーンに使用されます。
自動トリガは、特定のテーブルまたはビューに関連付けて暗黙的に実行する特殊なストアド・プロシージャです。テーブルまたはビュー上で指定されたイベント(INSERT、UPDATE、DELETEなどのデータ修正操作)が発生すると、トリガは自動的にトリガされ、定義されたコードを実行します。
自動トリガの役割:
テーブルへの変更の許可/制限:トリガを使用して、複雑な条件を定義して、テーブルへの変更操作を許可または阻止できます。たとえば、非管理者ユーザーが特定のテーブルのデータを更新しないようにするトリガを作成できます。
列の自動派生:トリガは、表の一部の列値を自動的に計算して更新するために使用できます。たとえば、新しいレコードを挿入するときにタイムスタンプを自動的に設定したり、フィールドの派生値を計算したりするトリガを作成できます。
データの整合性の強制:トリガは、データ修正操作がビジネス・ルールまたはデータ整合性制約に適合することを保証します。たとえば、フィールドの値が常に特定の範囲内にあることを確認するトリガを作成できます。
監査とログの提供:トリガは、監査またはデータ変更履歴の追跡のためにテーブルの変更操作を記録するために使用できます。これは、コンプライアンス要件や障害の排除に役立ちます。
無効なトランザクションの防止:トリガは、データ修正操作の有効性をチェックし、無効な操作が検出されたときにトランザクションをロールバックして、データの整合性と整合性を確保します。
複雑なビジネスロジックの起動:トリガは、データ修正操作に応答するために、他のストアド・プロシージャを呼び出すか、複雑なビジネスロジックを実行できます。