始める無料で始める

行の変更履歴を保持する

Fresh Fruit Delivery 社では、Customers テーブルに対して行われた変更を追跡する必要があります。

テーブル内の行を変更するすべてのステートメントを対象にする新しいトリガーを作成するよう依頼されています。

この演習はコースの一部です

SQL Server のトリガー構築と最適化

コースを見る

演習の手順

  • CopyCustomersToHistory という新しいトリガーを作成します。
  • そのトリガーを Customers テーブルに関連付けます。
  • 行が追加または変更されたときにトリガーが発火するようにします。
  • 特殊テーブル inserted から情報を抽出します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

-- Create a trigger to keep row history
CREATE TRIGGER ___
ON ___
-- Fire the trigger for new and updated rows
AFTER ___, UPDATE
AS
	INSERT INTO CustomersHistory (CustomerID, Customer, ContractID, ContractDate, Address, PhoneNo, Email, ChangeDate)
	SELECT CustomerID, Customer, ContractID, ContractDate, Address, PhoneNo, Email, GETDATE()
    -- Get info from the special table that keeps new rows
    FROM ___;
コードを編集して実行