实验四 SQL Server事务和并发控制
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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语句将操作回滚到保存点,该数据是否被删除?(请验证)