Transaction And Lock--在事务中使用TRY CATCH
2024-10-21 13:40:58
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() 返回错误消息的完整文本。 该文本可包括任何可替换参数所提供的值,如长度、对象名或时间。
最新文章
- BZOJ 2763: [JLOI2011]飞行路线 最短路
- dbus 和 policykit 实例篇(python) ()转
- 【踩坑】360安全浏览器“极速模式”和“兼容模式”,套路还是bug?
- Visual Studio Code-批量添加或删除注释行
- Apex辅助 - 透视|自瞄|无后
- 安利一个十分实用的IDEA插件--RestfulToolkit
- java异常——Exception、RuntimException
- Quartz 的DisallowConcurrentExecution
- 【tmos】SpringBoot登录拦截
- Gson转换json数据为对象
- netty LEAK: ByteBuf.release() was not called before it's garbage-collected
- (第二章)改善JavaScript,编写高质量代码。
- [Codeforces526F]Pudding Monsters 分治
- C++之可调用对象
- Java 中的 I/O
- [CSS3] 边栏导航动画
- 5.安装hbase
- 版本控制SVN的使用笔记
- [学习笔记]最小割之最小点权覆盖&;&;最大点权独立集
- ssh.sh_for_ubuntu1204