Ado.NET 系列quiz 关于事务隔离级别

王朝c#·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

问题的提出:

有些人为了避免事务并发问题,于是把事务的隔离级别设置为最高级别 Serilizable,结果意想不到的问题发生了。

假设有一张表 t1

里面只有一个字段 field2 varchar(20) 类型的。

他在代码重执行了一下一段代码:

set transaction isolation level serializable

begin tran

select * from t1

waitfor delay '00:00:30'

insert into t1 values('123')

if @@error=0

commit tran

else

rollback tran

问题:

1。先不要急着去执行这段代码,像一下这段代码多个人同时执行会有什么问题

2。他违反了数据库事务设计的那些原则

解决之后,你就会发现事务使用不当,很容易发生问题,甚至严重的后果。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航