实验四 SQL Server事务和并发控制

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四SQL Server事务和并发控制

实验目的和任务

1)理解事务的概念和事务的结构

2)掌握事务的使用方法

3)了解并发控制中锁的作用

4)了解锁的类型

实验内容

1)比较自动事务模式和显式事务模式执行SQL的不同。

①以自动事务模式执行下面SQL语句

insert into员工表values ('2011','杨阳','男','1990-07-20', '销售员',3800,'1004')

--注意部门号'1004'必须是部门表里有的部门号,即要满足外键约束。

select times=1,*from员工表

update员工表set工资=4000 where员工号='2011'

select times=2,*from员工表

delete from员工表where员工号='2011'

select times=3,*from员工表

②以显式事务模式执行SQL语句

--进入显式事务模式

begin transaction

--插入数据

insert into员工表values ('2011','杨阳','男','1990-07-20', '销售员',3800,'1004')

select times=4,*from员工表

--执行提交操作

commit transaction

go

select times=5,*from员工表

begin transaction

--修改数据

update员工表set工资=4000 where员工号='2012'

select times=6,*from员工表

--执行回退操作

rollback transaction

go

select times=7,*from员工表

begin transaction

--删除数据

delete from 员工表where员工号='2012'

select times=8,*from员工表

--执行回退操作

rollback transaction

go

select times=9,*from员工表

2)对员工表结构进行修改,增加最高学历和毕业院校字段,如果成果提交,否则取消。(用显式事务,如果语句执行成功,则系统变量 @@ERROR 是 0。可以在sysmessages 系统表中查看与 @@ERROR 错误代码相关的文本信息)。

3)仿照【例7-8】执行系统存储过程sp_lock,观察程序执行过程中锁的使用状况。

问题思考

1)SQL Server的事务模式分为哪几类?各有什么特点?

2)定义事务,向表中插入一行数据,然后删除改行。要求在删除命令前定义保存点MY,并使用ROLLBACK语句将操作回滚到保存点,该数据是否被删除?(请验证)

相关文档
最新文档