mssql sqlserver 使用触发器监控某个字段是否被修改


摘要:
下文讲述sqlserver中使用触发器监控指定字段是否发生变化的方法分享,如下所示:
实验环境:sql server 2008 R2



应用背景:
今天同事让我们制作一个功能,当数据表中的指定字段被修改后,将日志信息放入到指定的数据表上,此处我们采用了触发器实现此功能

    ---创建触发器
create trigger [tig_log] on  数据表名称
after update  
as 
begin
       --数据表必须有主键,不然无法关联数据
        ---例:检测字段info 是否发生变化 keyId 为数据表中的主键
       select @flag int   ---不等于0代表指定字段发生过变化
       select @flag   =
            case when a.info =b.info then 0 else 1
            end 
       from inserted a left join deleted b on a.keyId = b.keyId 
end