我可以在触发器执行期间在同一触发器内禁用SQL触发器吗?
我正在尝试通过触发器更新列,该触发器会在更新同一列时触发 。 但行不同。
例如,如果column1的row1发生更改,则column1的第2行和第3行将根据row1.column1值发生更改。
如果我的触发器在第一次更新row1.column1时触发,那么我的触发器将触发并更新同一列的其他行。随着列值再次更新,触发器再次触发。这可能会创建一个永无止境的循环(我假设)
所以我想在执行相同触发器期间禁用触发器。我不想使用INSTEAD OF触发器,因为根据一些其他数据库事务,可能会回滚update语句。 我试过了
ALTER TABLE tablename DISABLE TRIGGER triggername
ALTER TABLE tablename ENABLE TRIGGER triggername
禁用并启用触发器,但在执行更新状态时出现错误
消息2801,级别16,状态1,过程触发器,第47行 对象'Triggername'的定义自编译后已更改。 声明已经终止。
先谢谢你的帮助..