zoukankan      html  css  js  c++  java
  • Transaction And Lock--在事务中使用TRY CATCH


    1>当XACT_ABORT被设置为ON时,如果TSQL 语句遇到运行时错误,整个事务会被回滚和结束
    2>当XACT_ABORT被设置为OFF时,如果TSQL 语句遇到运行时错误,只会回滚当前产生错误的语句,并继续执行后续语句,直到运行到COMMMIT和ROLLBACK语句。
    3>当客户端执行TSQL时连接断开,则自动回滚当前事务。
    4>当TSQL语句执行时遇到错误级别为19及以上错误时,回话会被强制断开,事务被回滚
    5>在事务提交前可以使用XACT_STATE()来判断事务是否可以提交,如果XACT_STATE()=1,则该事务可以被提交,如果XACT_STATE()=-1,则该事务只能被回滚。
    6>使用TYR CATCH语句时,TRY中语句执行时遇到错误级别为11-18的错误时,SQL Server 会将错误信息保存并跳转到CATCH语句块,CATCH语句无法捕获到错误级别小于11的错误
    7>查看错误消息的方法
    --ERROR_NUMBER() 返回错误号。
    --ERROR_SEVERITY() 返回严重性。
    --ERROR_STATE() 返回错误状态号。
    --ERROR_PROCEDURE() 返回出现错误的存储过程或触发器的名称。
    --ERROR_LINE() 返回导致错误的例程中的行号。
    --ERROR_MESSAGE() 返回错误消息的完整文本。 该文本可包括任何可替换参数所提供的值,如长度、对象名或时间。

  • 相关阅读:
    csps模拟测试70
    模拟测试66反思
    csps63总结
    csps60爆零记
    csps模拟测试57
    模拟测试52,53反思
    LOJ2542「PKUWC2018」随机游走
    LOJ6300 BZOJ5283 [CodePlus 2018 3 月赛]博弈论与概率统计
    2019暑假集训
    省队二轮集训笔记
  • 原文地址:https://www.cnblogs.com/TeyGao/p/3522994.html
Copyright © 2011-2022 走看看