网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

启用事务t1执行修改操作

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

--
--21.4.2节示例
--

启用事务t1执行修改操作
BEGIN TRAN t1 --开启一个事务更新表
UPDATE Person.AddressType
SET ModifiedDate=GETDATE()

启用事务t2执行修改操作
BEGIN TRAN t2 --开启另一个事务更新表
UPDATE Person.Address
SET ModifiedDate=GETDATE()

UPDATE Person.Address --更新其他表
SET ModifiedDate=GETDATE()

UPDATE Person.AddressType  --交叉更新表
SET ModifiedDate=GETDATE()

--
--21.4.3节示例
--

创建测试用表和数据
USE AdventureWorks;
GO
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ --设置为可重复读
BEGIN TRAN A --启用事务读取数据
SELECT *
FROM Person.AddressType

UPDATE Person.AddressType --更新表中的数据
SET ModifiedDate=GETDATE()

--
--21.4.4节示例
--

创建单表死锁测试表
CREATE TABLE t1
(
c1 INT NOT NULL PRIMARY KEY, --聚集索引
c2 INT NOT NULL,
c3 VARCHAR(8)
)
GO
CREATE INDEX IX_t1_c2 ON t1(c2) --非聚集索引
SET NOCOUNT ON
DECLARE @i INT=1 添加1000条测试数据
WHILE @i<=1000
BEGIN
 INSERT INTO t1 VALUES(@i,@i,'test')
 SET @i+=1
END 

对表执行UPDATE操作
SET NOCOUNT ON --不显示受影响的行数
WHILE 1=1 --死循环
BEGIN
 UPDATE t1
 SET c2=10000-c2  --在100和9900之间轮换
 WHERE c1=100
END

对表执行SELECT操作
WHILE 1=1
BEGIN
 SELECT c3  --查询数据
 FROM t1
 WHERE c2=100
END 

重新创建非聚集索引
DROP INDEX t1.IX_t1_c2
GO
CREATE INDEX IX_t1_c2 --创建包含索引
ON t1(c2)
INCLUDE(c3) --将c3字段包含在索引中

--
--21.4.5节示例
--

dbcc traceon(1222,1204,3605,-1)

  • 上一篇资讯: SQLSelect
  • 下一篇资讯: 启用事务
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师