是否可以创建特定的单元格明智触发器?
或者是
IF UPDATE(COLUMN) WHERE OTHER_COLUMN LIKE 'JT'
SQL Server 2008中的等价物?
得到第二个答案后编辑 ---
IF not UPDATE(CurrentNo) --// Wanted to do like this : where series ='JT'
return
IF not EXISTS(SELECT 'True'
FROM Inserted i
JOIN Deleted d ON i.Series = d.Series
WHERE i.Series = 'JT' AND d.Series = 'JT')
return
好像没错!请评论。
答案 0 :(得分:1)
没有。没有办法以声明的方式做到这一点。您需要创建一个通用的Update触发器并在其中放入逻辑以立即返回IF NOT UPDATE (column)
如果感兴趣的列已更新,那么您将查询inserted
和deleted
伪表,以便您处理满足您感兴趣条件的行。< / p>
答案 1 :(得分:0)
在表上指定触发器,而不是在行,列或单元格上指定。在触发器的主体内部,您可以访问INSERTED和DELETED表。您可以将它们连接在一起,以确定更新期间更改了哪些列。 SQL Server 2008(以及以前的版本)中提供的UPDATE()函数是用于确定列是否已更改的简写方法。