在列更新上调用触发器

问题描述:

我有一个条件,在某个特定列在表中更新时应该调用触发器,而不是在更新任何其他列时触发。 这可能吗?在列更新上调用触发器

您的触发器会在任何更新中被调用,但是只有当列具有新值时,才可以添加一些检查来处理数据。

触发只对INSERT,UPDATE树选项中,删除这意味着触发器将GE在每次更新命令发射没有母校什么列被更新 最佳Regars, 约尔丹

触发器被调用不管领域的变化,但是您可以使用

IF UPDATE(mycol) 
BEGIN 
    -- logic goes here 
END 

来实现特定列的逻辑。

也看看COLUMNS_UPDATED功能。

+0

由于SQL Server触发器是语句级触发器而不是行级触发器,因此我想知道单个测试UPDATE(mycol)如何确定所有行的更新状态。 看起来UPDATE语句会更新所有受影响行的列或无。这是因为如果在UPDATE语句中为列分配了值,则无论实际列的值是否更改,该列都被视为更新。 – 2012-04-24 14:07:08