SQL SERVER2012实现了类似C#抛出异常的Throw语句。相比较于SQL Server2005之前使用@@ERROR,和SQL Server2005之后使用RAISERROR()引发异常都是一个不小的进步.

 

一、RAISERROR和TRY…CATCH

1.SQL Server2005/2008中,使用RAISERROR和TRY…CATCH语句来抛出异常相比较根据@@ERROR进行判断来讲已经进步了很多。但是使用RAISERROR有一个非常不好的一点是无法返回真正出错的行数。

--使用RAISERROR返回错误行数不正确
begin tran
BEGIN TRY
    select 1/0;
commit
END TRY

begin catch
    rollback
    raiserror('自定义错误信息',12,1)
    print error_message();--遇到以零作除数错误。
end catch
View Code

相关文章:

  • 2021-09-13
  • 2022-12-23
  • 2021-11-24
  • 2021-09-09
  • 2022-12-23
猜你喜欢
  • 2021-04-27
  • 2022-03-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-15
相关资源
相似解决方案