次の方法で共有


トリガーの使用

トリガーは、特殊なストアド プロシージャであり、1 つ以上のデータ変更操作 (UPDATE、INSERT、または DELETE) によって特定のテーブルのデータを変更するときに実行されます。 INSTEAD OF トリガーとして知られる特殊なトリガーでは、ビューの基になるベース テーブルの変更を指定できます。

トリガーでは、ほかのテーブルに対するクエリや、複雑な SQL ステートメントを指定できます。 ほかのテーブルに対するクエリや複雑な SQL ステートメントは、複雑なビジネス ルールや要件を適用するのに役立ちます。 たとえば、顧客の現在のアカウント状態に基づいて、新しい注文の挿入を許可するかどうかを指定できます。

トリガーは、参照整合性を適用するのにも役立ちます。参照整合性は、テーブルの行の追加、更新、または削除を行うときに、テーブル間に定義されたリレーションシップを保持します。 ただし、参照整合性を適用するには、関連する表の間で主キー制約および外部キー制約を定義するのが最も良い方法です。 テーブル デザイナーを使用する場合は、テーブル間にリレーションシップを作成して、外部キーの制約を自動的に作成できます。 詳細については、「テーブルのリレーションシップ (Visual Database Tools)」を参照してください。

トリガーには、次の利点があります。

  • トリガーは、自動的に実行されます。 テーブルのデータに手動入力やアプリケーション アクションなどの変更が加えられると、すぐに起動します。

  • トリガーでは、データベース内の関連テーブル間で連鎖変更を行うことができます。 たとえば、titles テーブルの title_id 列に DELETE トリガーを作成して、ほかのテーブルの一致する行を削除できます。 このトリガーは、一意のキーとして title_id 列を使用し、titleauthor、sales、および roysched の各テーブルで一致する行を検索します。

  • トリガーでは、CHECK 制約 (Visual Database Tools)で定義されているよりも複雑な制限を適用できます。 CHECK 制約とは異なり、トリガーではほかのテーブルの列を参照できます。 たとえば、titles テーブルに格納されている 1,000 円未満の本に対して、discounts テーブルに格納されている割引額を適用する更新内容をトリガーでロールバックできます。

トリガーの詳細および例については、使用するデータベース サーバーのドキュメントを参照してください。 Microsoft SQL Server を使用する場合は、『SQL Server Books Online』の「CREATE TRIGGER」を参照してください。

このセクションの内容

方法 :トリガーを作成する

方法 : トリガーを保存する

方法 : トリガーを開く

方法 : トリガーを削除する

方法 : トリガーを変更する

ビューでの INSTEAD OF トリガーの使用

方法 : トリガーのプロパティを表示する

参照

リファレンス (Visual Database Tools)