sql-server – 如何确定t-sql中更新触发器中是否有任何变化
发布时间:2020-12-12 06:57:07 所属栏目:MsSql教程 来源:网络整理
导读:如何确定UPDATE触发器中是否有变化?例如,我有一个名为person的表,只有一列NAME包含值’Mike’。如果我跑步 UPDATE person SET NAME = 'Mike' 如何在更新触发器中确定没有变化?我知道 UPDATE(COL) 语句,但我不想迭代列。有没有办法完成这个? 解决方法 更
如何确定UPDATE触发器中是否有变化?例如,我有一个名为person的表,只有一列NAME包含值’Mike’。如果我跑步
UPDATE person SET NAME = 'Mike' 如何在更新触发器中确定没有变化?我知道 解决方法更新(列)仅表示列参与更新,但不表示其值已更改。例如,update Person SET Name = Name 即使在任何行中没有更改名称,在update(name)中也会生成true。 要检查新值是否与旧版本不同,您将使用except,因为除了将删除底部集中存在的顶层中的行。由于人桌可能具有主键,所以没有删除已删除的对方的已更改项目的危险。但是,如果您决定将*更改为有趣列的列表,请确保包含主键。 insert into logTable (ID) select a.ID from ( select * from Inserted except select * from Deleted ) a 增加的好处是,这适用于插入,因为删除将为空,并且将插入的所有行都将返回。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |