我试图使用Microsoft Server 2005在触发器中放置一个try-catch语句.
- BEGIN TRANSACTION
- BEGIN TRY
- --Some More sql
- COMMIT TRANSACTION
- END TRY
- BEGIN CATCH
- IF (XACT_STATE()) = -1
- BEGIN
- ROLLBACK TRANSACTION;
- END;
- END CATCH
问题是如果某些东西被try-catch块捕获,我不希望触发器失败.目前,我收到错误“事务在触发器中结束,批次已被中止”.如果事务失败.如何让触发器正常失败?
另外,如果我删除事务,我得到错误“事务注定在触发器中.批处理已被中止”.
- BEGIN TRY
- --Some More sql
- END TRY
- BEGIN CATCH
- return
- END CATCH
有没有办法解决?