ホームページ >データベース >mysql チュートリアル >SQL Server トリガーは従業員レコードの挿入時にデータの整合性をどのように確保できますか?

SQL Server トリガーは従業員レコードの挿入時にデータの整合性をどのように確保できますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-23 20:06:13392ブラウズ

How Can SQL Server Triggers Ensure Data Integrity When Inserting Employee Records?

SQL Server トリガーを使用した新しい従業員レコードの挿入

SQL Server 2008 では、テーブル間の関係の管理はデータの整合性にとって非常に重要です。 Employee と EmployeeResult という 2 つのテーブルの場合を考えてみましょう。 EmployeeResult に挿入された各行に Employee の対応するレコードがあることを確認するには、単純な INSERT トリガーが必要です。

トリガー定義

trig_Update_Employee という名前の INSERT トリガーは、次のタスクを実行します:

  • に挿入された各行を反復処理します。 EmployeeResult
  • 同じ名前と部署の従業員が Employee に存在するかどうかを確認します
  • 従業員が存在しない場合は、対応する値を持つ新しいレコードを Employee に挿入します

トリガーの実装

このトリガーを実装するには、挿入される行へのアクセスを提供する、挿入された論理テーブル。次のトリガー定義は、指定された要件を満たしています。

CREATE TRIGGER trig_Update_Employee
ON [EmployeeResult]
FOR INSERT
AS
Begin
    Insert into Employee (Name, Department) 
    Select Distinct i.Name, i.Department 
    from Inserted i
    Left Join Employee e
    on i.Name = e.Name and i.Department = e.Department
    where e.Name is null
End

トリガー機能

  • トリガーは、行が EmployeeResult に挿入されるたびに実行されます。
  • 挿入されたテーブルは、挿入された行にアクセスする方法を提供しますデータ。
  • トリガーは LEFT JOIN を使用して、同じ名前と部署の従業員が Employee テーブルに存在するかどうかを確認します。
  • 一致する従業員が見つからない場合は、新しいレコードがデータに挿入されます。挿入された行からの対応する情報を持つ従業員。
  • トリガーにより、データを維持するために必要なすべての従業員情報が従業員テーブルに確実に含まれるようになります。一貫性。

以上がSQL Server トリガーは従業員レコードの挿入時にデータの整合性をどのように確保できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。