场景描述一:
1.在会话1中执行下面的语句后,马上操作第2步
IF OBJECT_ID('tb_REPEATABLE_READ','U') IS NOT NULL
DROP TABLE tb_REPEATABLE_READ
go
CREATE TABLE tb_REPEATABLE_READ --创建表,为堆表,且无任何索引
( xh INT ,col INT )
go
INSERT INTO tb_REPEATABLE_READ --写入一行数据
SELECT 1 ,1
go
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ --设置为可重复读
BEGIN TRAN
DELETE FROM tb_REPEATABLE_READ --删除刚才写入的数据
WHERE xh = 1;
WAITFOR DELAY '00:00:10' --等待10秒钟,以便会话2有时间进行操作
SELECT * FROM tb_REPEATABLE_READ -- 事务内进行读取
COMMIT TRAN
2.在会话2中执行下面的语句
INSERT INTO tb_REPEATABLE_READ
SELECT 1 ,1
3.返回会话1,等待结果出现: 1行记录
场景描述二:
1.在会话1中执行下面的语句后,马上操作第2步
USE TestCangChu
go
IF OBJECT_ID('tb_REPEATABLE_READ','U') IS NOT NULL
DROP TABLE tb_REPEATABLE_READ
go
CREATE TABLE tb_REPEATABLE_READ --创建表,xh 列为聚集主键
( xh INT PRIMARY KEY ,col INT )
go
INSERT INTO tb_REPEATABLE_READ --写入一行数据
SELECT 1 ,1
go
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ --设置为可重复读
BEGIN TRAN
DELETE FROM tb_REPEATABLE_READ --删除刚才写入的数据
WHERE xh = 1;
WAITFOR DELAY '00:00:10' --等待10秒钟,以便会话2有时间进行操作
SELECT * FROM tb_REPEATABLE_READ -- 事务内进行读取
COMMIT TRAN
2.在会话2中执行下面的语句
INSERT INTO tb_REPEATABLE_READ
SELECT 1 ,1
3.返回会话1,等待结果出现:0行记录
场景一二对比结论:
存在聚集主键情况下,符合我们一般对可重复读事务隔离级别的预期。而堆表中,恰与我们预期相反,与读已提交无异。
各位不妨谈谈自己的观点......
分享到:
相关推荐
StreamInsight IS A MSSQL CEP IN MSSQL 2008 R2 Microsoft
用于在WinXP SP3操作系统下PHP连接MSSQL2008R2的驱动,及全部可打的VC补丁
MSSQL2008R2 触发器问题代码
事务隔离级别简单的说,就是当激活事务时,控制事务内因SQL语句产生的锁定需要保留多入,影响范围多大,以防止多人访问时,在事务内发生数据查询的错误。设置事务隔离级别将影响整条连接。
jquery+Mssql2008R2+验证码 多种jQuery访问数据库进行登录验证的源码 VS2013源码
MS SQL SERVER R2 SN.希望大家能够喜欢。
SQL2008 R2 绿色版 免安装SQL2008 R2 绿色版 免安装
SQL Server 2008R2 SP1 KB2528583 补丁 数据库 windows 数据库
jdk1.5使用---》sqljdbc.jar jdk1.6使用--》sqljdbc4.jar
同时,并行事务的修改必须与其他并行事务的修改 相互独立。 Durability(持久性): 事务结束后,事务处理的结果必须能够得到固化。 以上属于废话 二,为什么需要对事务并发控制 如果不对事务进行并发控制,我们看...
只有SQL Server 2008 出了SP4补丁。该补丁并不支持 SQL Server 2008 R2 版本的升级。 当 SQL Server 2008 R2 版本升级到 Service Pack 3后,存在一个缺陷,需要安装(10.53.6000.34补丁)。
主要介绍了win2008 R2 WEB环境配置之Mssql Server 2008 R2 安装图文教程及远程连接设置方法,需要的朋友可以参考下
英文版SQL server2008R2数据库安装包
SqlServer2008R2 数据库驱动包,包含2.0和3.0两个版本的jar包文件。
SQL-SERVER2008R2函数大全,基本都涵盖了,附实例解析
PHP中如何使用MySQL与MsSQL中的事务
PHP与MySQL的安装使用是很方便的事,但是PHP与MSSQL配置就是一个头大问题,特意把自己配置教程记录下来给大家参考。
SQLServer2008R2SP2-KB2630458-x64-CHS