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

带有复杂逻辑判断的sql语句在遇到执行错误时
带有复杂逻辑判断、循环插入修改的sql语句在遇到执行错误时,运用事务操作是否会rollback?

------解决方案--------------------
SQL code
Begin tran                 
      
BEGIN TRY  
--语句放这
  Commit tran                              
End Try      
Begin Catch      
  Rollback tran                          
 
  Return        
end Catch

------解决方案--------------------
也可以 启用 SET XACT_ABORT ON;--当 SET XACT_ABORT 为 ON 时,如果执行 Transact-SQL 语句产生运行时错误,则整个事务将终止并回滚。

如果不需要捕捉错误来进行处理的话,用这个比较省心。