如何告诉INSTEAD OF UPDATE触发器继续并忽略我的声明?

时间:2014-07-11 14:34:38

标签: sql sql-server triggers

我有一个INSTEAD OF UPDATE触发器,用于检查我是否正在填充名为deleted_date的列,如果是,则会执行操作。

一切都运行良好,直到我意识到如果我尝试更新任何其他数据,我的触发器运行并且我的更新被忽略。

我在堆栈上找到的其他解决方案解释了在将“inserted”表加入后,执行IF/ELSE然后在原始表上执行UPDATE。这将起作用,但是,这也意味着如果我以任何方式修改表格列,我必须返回并编辑我的触发器。

有没有办法说ELSE CONTINUE DEFAULT ACTION基本上说“留下这个触发器并更新你通常在第一时间做的记录”

2 个答案:

答案 0 :(得分:2)

如果始终希望更新发生,并且有时希望进行一些额外的处理,则可以使用更改来使用AFTER触发器(除非你正在使用一个视图)。 否则,您需要在触发器内执行update语句。

答案 1 :(得分:1)

没有。触发而不是更新触发器时,您无法返回默认操作。表中数据的任何更新都必须由触发逻辑

完成