捕获两列的更改 - SQL Server
创始人
2024-12-25 04:30:10
0

在SQL Server中,可以通过使用触发器来捕获两列的更改。下面是一个包含代码示例的解决方法:

首先,创建一个表来存储更改的历史记录。该表将记录更改前后的值以及更改发生的时间。例如,可以创建一个名为ChangeHistory的表,包含以下列:

CREATE TABLE ChangeHistory (
    ID INT IDENTITY(1,1) PRIMARY KEY,
    TableName VARCHAR(100),
    ColumnName VARCHAR(100),
    OldValue NVARCHAR(MAX),
    NewValue NVARCHAR(MAX),
    ChangeDate DATETIME
)

接下来,创建一个触发器在更改目标表中的两列发生更改时被触发。例如,如果目标表名为YourTable,两列分别为Column1Column2,则可以创建以下触发器:

CREATE TRIGGER CaptureChanges
ON YourTable
AFTER UPDATE
AS
BEGIN
    IF UPDATE(Column1) OR UPDATE(Column2)
    BEGIN
        INSERT INTO ChangeHistory (TableName, ColumnName, OldValue, NewValue, ChangeDate)
        SELECT 
            'YourTable',
            CASE
                WHEN UPDATE(Column1) THEN 'Column1'
                WHEN UPDATE(Column2) THEN 'Column2'
            END,
            d.Column1,
            i.Column1,
            GETDATE()
        FROM deleted d
        INNER JOIN inserted i ON d.PrimaryKeyColumn = i.PrimaryKeyColumn -- 用于链接原始值和新值的主键列
        WHERE
            (UPDATE(Column1) AND d.Column1 <> i.Column1) OR
            (UPDATE(Column2) AND d.Column2 <> i.Column2)
    END
END

触发器将在YourTable表的Column1Column2被更新时被触发。它将在ChangeHistory表中插入一条记录,记录更改前后的值以及更改发生的时间。

请注意,上述示例中的触发器假设目标表具有一个主键列,用于将原始值和新值进行匹配。如果目标表没有主键列,您可以根据具体情况将触发器进行修改,以使用其他唯一标识列或组合列来链接原始值和新值。

相关内容

热门资讯

黑科技科技(wepoke智能a... 黑科技科技(wepoke智能ai)wepower使用说明书(wepOkE)素来是真的有挂(确实有挂)...
黑科技模拟器(wepoke智能... WePoker透视辅助工具核心要点解析‌,黑科技模拟器(wepoke智能ai)wepoke是机器发牌...
黑科技脚本(wepokeai代... 您好,这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款游戏中打牌都...
黑科技辅助挂(wepoke真的... 黑科技辅助挂(wepoke真的有挂)wepoke 软件(wEPOKE)固有真的有挂(有挂猫腻)-哔哩...
黑科技辅助挂(wepoke黑科... 黑科技辅助挂(wepoke黑科技)wepoke软件透明挂演示(wEpOke)一直真的有挂(真的有挂)...
黑科技app(wepoke真的... 此外,数据分析德州()辅助神器app还具备辅助透视行为开挂功能,通过对客户透明挂的深入研究,你可以了...
黑科技智能ai(wepoke辅... 黑科技智能ai(wepoke辅助插件)wepoke软件透明(WEPOke)先前是有挂(果真有挂)-哔...
黑科技模拟器(wepoke透明... 黑科技模拟器(wepoke透明黑科技)wepoke德州扑克用ai代打(WEPOKE)最初存在有挂(有...
黑科技插件(wepoke辅助插... 黑科技插件(wepoke辅助插件)wepoke软件透明(WEPOke)从来是真的有挂(有挂解惑)-哔...
黑科技美元局(wepoke智能... 黑科技美元局(wepoke智能ai)wepoke辅助真的假的(wepoKE)原先真的有挂(竟然有挂)...