Try / Catch error_message()获取多个错误

时间:2017-06-05 14:15:38

标签: sql sql-server-2008 stored-procedures error-handling

我有大约1000行存储过程,使得复杂的东西,我试图使用try,catch来获取任何错误,它工作正常,但如果脚本包含多个错误,只检索最后一个错误,所以error_message( )只得到最后一个错误

BEGIN TRY                                                           
 Begin Tran                    
       --Staff            
Commit Tran                                                          
End Try                                                                      
        BEGIN CATCH                                           
        IF @@TRANCOUNT > 0                                                         
     select                                                                      
     error_message() as errormessage,                                                                      
     error_number() as erronumber,                                                                      
     error_state() as errorstate,                                                                     
     error_procedure() as errorprocedure,                                                                      
     error_line() as errorline;                                                                      
            ROLLBACK                                                                      
         END CATCH                                                        
  • 错误:1
  • 错误:2
  • 错误:3

select查询的结果集,仅返回Error:3

是否有任何方法可以获取所有错误,或者至少是第一个更重要的错误

我有sql server 2008,

我在发布之前发布谷歌,无法找到任何适用的解决方案

0 个答案:

没有答案