SQL Server 2008 は、トリガーを通じてデータの整合性を強制し、参照制約を維持するための強力なメカニズムを提供します。この記事では、一般的なデータ整合性の問題に対処するために、EmployeeResult テーブルに単純な INSERT トリガーを作成する方法を説明します。
問題を理解する
トリガーの目的は次のとおりです。 EmployeeResult テーブルに対するすべての INSERT 操作には、従業員名と部門をリンクする Employee テーブル内の対応するエントリが伴うことを確認します。既存の従業員が見つからない場合、トリガーは必要なデータを Employee テーブルに挿入します。
トリガーの作成
これを実現するには、 を利用します。 insert 論理テーブル。EmployeeResult テーブルに挿入されるデータを表します。次のトリガーの実装は、目的の動作を実現します。
CREATE TRIGGER [trig_Update_Employee] ON [EmployeeResult] FOR INSERT AS BEGIN INSERT INTO [Employee] (Name, Department) SELECT DISTINCT i.name, i.Department FROM inserted AS i LEFT JOIN Employee e ON i.Name = e.Name AND i.Department = e.Department WHERE e.Name IS NULL; END
解決策の説明
の利点トリガー
以上がSQL Server 2008 トリガーは、EmployeeResult テーブル内の従業員データの整合性をどのように保証できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。