- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验D07: 事务处理和触发器实验
一、实验名称和性质
所属课程 数据库原理 实验名称 事务处理和触发器 实验学时 2 实验性质 ?□验证 □综合 ?□设计 必做/选做 ?□必做 □选做
二、实验目的
1.了解事务的概念和基本特征;
2.掌握事务的提交与回滚操作
3.掌握触发器的基本原理;
4.掌握触发器的建立语句
三、实验的软硬件环境要求
硬件环境要求:
PC机(单机)
使用的软件名称、版本号以及模块:
Windows XP下的SQL Server 2000(或 SQL Server 2005)
四、知识准备
1.事务是一段与数据库打交道的程序,它能保持企业状态和数据库状态的一致性。当某一事件影响企业状态时,事务会更新数据库状态以体现这个事件的发生。如银行里的存款事务,事件是客户向出纳员提供现金和存款单,事务则是更新数据库中客户的帐号信息以体现这次存款事件。
2.事务处理具有原子性(atomicity):系统必须保证这段程序要么执行到结束,要么就一点效果也没有。如果一个事务成功执行,我们称其已经提交(commit);一个事务没有正常完成,称其已经中止(abort),这时候,事务监视器有责任保证事物对数据库造成的部分改变要修改回来,这就叫事务回滚(roll back)
3.触发器是一种特殊类型的存储过程,它不同于前面介绍过的一般的存储过程。q在使用触发器过程中,SQL Server使用到了两张特殊的临时表,分别是inserted和deleted表。
(1)在deleted表中存放Update和delete影响的旧数据行。在执行Update和delete时先将数据从基本表中删除,然后被转移到deleted表中。
(2)在inserted表中存放Update和insert影响的数据。当用户执行Update和insert时,将数据添加到基本表中,同时,将数据行的备份复制到inserted临时表中。
4.触发器的创建格式
CREATE TRIGGER 触发器名 ON 表名
AFTER INSERT/UPDATE/DELETE
AS
T-SQL语句组
五、实验内容
1.事务的提交与回滚操作;
2.触发器的建立。
3.触发器的修改、删除操作。
4.触发器的删除
六、验证性实验
1.用ROLLBACK TRAN实现事务的回滚操作。
观察每次显示C表中数据记录条数变化,为什么有这种变化?
2. 事务回滚点的保存
观察最后的C表中的数据结果与前面C表显示结果的不同。
3.触发器的建立
(1) 在S表建立建立如下触发器
选中上述触发器创建语句并执行,然后输入下面语句:
显示结果:
(2)在S表上建立下面触发器:
执行上述触发器后在S表中插入数据,
执行插入语句后打开S观察结果。
4.在SC表上插入一条选课记录后,将C表中对应的课程的seleNUM值加1。
5.触发器的修改、删除
修改触发器
ALTER TRIGGER 触发器名 ON 表名
AFTER INSERT/UPDATE/DELETE
AS
T-SQL语句组
在调试触发器时可以用修改触发器的语句来进行。
如
执行上面的触发器,发现错误,则修改触发器。
删除触发器
DROP TRIGGER 表名.触发器名
6.存储过程的相关操作
(1) 查看存储过程:
(2) 重命名存储过程
七、设计性实验
1.实验要求
(1) 将S表的PRIMARY KEY完整性约束删除,编写一个S表上的触发器来完成在S表上插入记录时实现如下目标:SNO 不能为空,且SNO不能重复。
(2) 在C表修改记录时,若修改的是CREDIT字段,则修改值超过6时提示出错信息并不将结果写出数据表。
2.思考题
什么是触发器?主要功能是什么?
触发器运行过程中,有什么机制来查看修改了哪些记录信息?
INSERTED表
文档评论(0)