SQL Server 2008 の挿入トリガー
SQL Server 2008 では、EmployeeResult テーブルにデータを挿入する必要があるシナリオが発生することがあります。また、Employee テーブルに欠落している従業員と部門のペアが自動的に追加されることを確認します。これを実現するには、INSERT トリガーを利用できます。
このトリガーを定義するには、次の手順を検討してください:
CREATE TRIGGER trig_Update_Employee ON [EmployeeResult] FOR INSERT AS
IF EXISTS (SELECT COUNT(*) FROM Employee WHERE ???)
この行では、従業員と部門のペアが Employee テーブルに存在するかどうかを確認する条件を指定する必要があります。プレースホルダー ???挿入されたデータを Employee テーブルと比較する句で置き換える必要があります。
BEGIN INSERT INTO [Employee] (Name, Department) VALUES (???, ???) END
同様に、これらのプレースホルダー ???挿入されたデータから名前と部門を抽出する式を入力する必要があります。
完成したトリガーは次のようになります。次のようなもの:
CREATE TRIGGER trig_Update_Employee ON [EmployeeResult] FOR INSERT AS IF EXISTS (SELECT COUNT(*) FROM Employee WHERE Name = i.Name AND Department = i.Department) BEGIN INSERT INTO [Employee] (Name, Department) VALUES (i.Name, i.Department) END
この例では、挿入されたデータは「i」エイリアスで表され、この条件は、Employee テーブルに従業員と部門のペアが存在するかどうかをチェックします。存在しない場合は、新しいレコードが Employee テーブルに挿入されます。
このトリガーを実装すると、EmployeeResult テーブルで INSERT 操作が発生するたびに、欠落している従業員と部門のペアが自動的に挿入されます。 Employee テーブルに追加され、データの整合性が維持され、手動介入が排除されます。
以上がSQL Server 2008 INSERT トリガーを使用して Employee テーブルに自動的にデータを取り込む方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。