捕获两列的更改 - 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表中插入一条记录,记录更改前后的值以及更改发生的时间。

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

相关内容

热门资讯

科普攻略!德普之星辅助器app... 科普攻略!德普之星辅助器app,we poker辅助器,德州论坛(有挂软件)是一款可以让一直输的玩家...
重大科普!佛手在线大菠萝智能辅... 重大科普!佛手在线大菠萝智能辅助器,wepoker作弊辅助,分享教程(有挂软件);原来确实真的有挂(...
一分钟教会你!wepoker怎... 一分钟教会你!wepoker怎么增加运气,epoker透视,切实教程(有挂透视)1、点击下载安装,微...
六分钟了解!hhpoker有辅... 六分钟了解!hhpoker有辅助吗,wepoker国外版透视,扑克教程(有挂技巧)科技教程也叫必备教...
我来教大家!wepoker辅助... 我来教大家!wepoker辅助透视,wepoker免费脚本弱密码,详细教程(有挂透明);wepoke...
记者发布!wpk辅助,德普之星... 记者发布!wpk辅助,德普之星透视辅助软件激活码,解密教程(有挂辅助);亲真的是有正版授权,小编(透...
揭秘攻略!aapoker万能辅... 《揭秘攻略!aapoker万能辅助器,hhpoker真的假的,揭秘教程(有挂教程)》 aapoker...
重大通报!sohoo poke... 自定义sohoo poker辅助器系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用...
三分钟了解!wpk辅助器,hh... 1、三分钟了解!wpk辅助器,hhpoker免费辅助器,必赢教程(有挂神器);详细教程。2、hhpo...
玩家必看攻略!wejoker私... 玩家必看攻略!wejoker私人辅助软件,智星德州可以透视吗,透明挂教程(有挂技巧)关于智星德州可以...