2014-07-11 37 views
0

我有一个INSTEAD OF UPDATE触发器,用于检查是否填充名为deleted_date的列,如果是,则会执行操作。如何告诉INSTEAD OF UPDATE触发器继续并忽略我的语句?

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

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

有没有办法说ELSE CONTINUE DEFAULT ACTION从根本上说,“离开这个触发和更新,你会在第一时间已经正常完成记录”

+0

你使用的是mysql还是sql server? –

+0

编辑显示“MS-SQL 2008”。 –

回答

2

如果总是希望更新的情况发生,并有时需要一些额外的处理的情况发生,你可以使用变更使用AFTER触发(除非你使用视图)。否则,您需要在触发器内执行更新语句。

1

号当,而不是更新触发器被触发,你不能返回到默认操作。在表中的数据的任何更新必须由触发逻辑进行