日期:2014-05-17  浏览次数:20739 次

能不能忽略触发器中的错误?
我的情况是这样的: 当向A表插入数据时,需要向某用户发送信息通知,由于插入数据方是第三方软件做的,我控件不了,所以我在A表加个触发器来实现,现在问题是发送信息这里的错误是可以忽略的,就是说假如发送失败不影响数据的插入,请问我在触发器里如何忽略错误,让事务继续执行.

------解决方案--------------------
再试试这个:



--先保存一个事务点
SAVEPOINT xxx 

begin try  
   --或者是调用存储过程,或者就直接写代码
   exec 发送信息的存储过程      
end try  
begin catch  
  select '执行失败'  
  --一旦出错,只是回滚到上面的事务点,继续执行
  ROLLBACK [WORK] TO SAVEPOINT xxx
end catch  

--其他代码