【发布时间】:2012-03-05 23:23:45
【问题描述】:
我在 TSQL 中有一个触发器,我想做两件事:
- 如果“Locked”列为 TRUE,则应该 ROLLBACK TRANSACTION
-
这样做时应该优雅地失败
AFTER UPDATE AS BEGIN IF (SELECT COUNT(*) FROM deleted WHERE Locked = 1)>0 ROLLBACK TRANSACTION END
当前代码回滚不需要的事务,但当它回滚时会返回此错误:“事务在触发器中结束。批处理已中止。”
有没有办法在触发器中回滚事务并优雅地失败?
谢谢。
【问题讨论】:
标签: sql sql-server tsql triggers