欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【SQL Server的怪辟:异常与孤立事务】,下面是详细的分享!
SQL Server的怪辟:异常与孤立事务
一、首先从SQLServer中Error讲起,SQL中错误处理有些怪辟 错误级别同是16但结果都不同。
以下是引用片段:
|
以下为引用的内容: select * from 一个不在的表 |
这样你可以发现通过exec或sp_executesql执行可疑的sql,这样就可以在后面捕捉到被异常终止的错误。
二、引出孤立事务:
1、孤立事务的产生
以下是引用片段:
|
|
select @@trancount 当前连接的活动事务数 --执行后你看看 当前连接的活动事务数为1,且重复执行会每次累加,这是很耗资源的。
应为rollback根本就没有被回滚。
2、使用现有手段解决孤立事务
以下是引用片段:
|
以下为引用的内容: print @@trancount print '当前连接的活动事务数' --当前连接的活动事务数为0 |
三、使用setxact_abort 来控制部分违反约束的错误的执行过程
|
|
对于sql中怪辟的各种错误,和孤立事务在t-sql编程中一定要注意,小心孤立事务的陷阱,尽量避免浪费或孤立资源,Microsoft公开宣布过SQLServe下一版本Yukon将有内置异常处理语法。那时可以通过代码对无法预料的错误有更好的控制。
以上所分享的是关于SQL Server的怪辟:异常与孤立事务,下面是编辑为你推荐的有价值的用户互动:
相关问题:什么是SQLSERVER事务处理和事务回滚?
答:事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界... >>详细
相关问题:数据库(sql server )回滚事务
答:--开始一个事务处理 Begin Tran T1 --执行插入操作 insert into [选课表]([学号],[课程代码]) values('20100021','01'); insert into [选课表]([学号],[课程代码]) values('20100021','02'); insert into [选课表]([学号],[课程代码]) values('2... >>详细
相关问题:sqlserver中事务的作用是什么?
答:所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。例如,在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句或整个程序。 简单举个例子就是你要同时修改数据库中两个不同表的时候,如果它们不... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
