sql >> データベース >  >> RDS >> Sqlserver

古い値を挿入するトリガー - 更新された値

    トリガーには、使用可能な 2 つの擬似テーブル Inserted があります。 そしてDeleted

    UPDATE の場合、Deleted テーブルには古い値が含まれますが、 Inserted テーブルには新しい値が含まれています。

    ID, OldValue, NewValue をログに記録したい場合 トリガーでは、次のように記述する必要があります:

    CREATE TRIGGER trgEmployeeUpdate
    ON dbo.Employees AFTER UPDATE
    AS 
       INSERT INTO dbo.LogTable(ID, OldValue, NewValue)
          SELECT i.ID, d.Name, i.Name
          FROM Inserted i
          INNER JOIN Deleted d ON i.ID = d.ID
      

    基本的に、あなたは Inserted に参加します そしてDeleted 疑似テーブル、ID (どちらの場合も同じだと思います)、Deleted からの古い値を取得します テーブル、Inserted からの新しい値 LogTable にすべてを保存します。



    1. MySQL-ストアドプロシージャで例外をスローする方法は?

    2. EssentialPostgreSQLモニタリング-パート2

    3. リモートサイトに条件付きでロゴを提供する

    4. .Netを使用したOracleAdvancedQueuing