数据库实验三触发器的创建、修改及删除.doc_第1页
数据库实验三触发器的创建、修改及删除.doc_第2页
数据库实验三触发器的创建、修改及删除.doc_第3页
数据库实验三触发器的创建、修改及删除.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

昆明理工大学信息工程与自动化学院学生实验报告( 2010 2011 学年第 二 学期 )课程名称:数据库高级应用 开课实验室:计算中心208 2011年 5月 17日年级、专业、班学号姓名成绩实验项目名称触发器的创建、修改及删除指导教师教师评语 教师签名: 年 月 日1、 实验目的、要求目的: 了解触发器的功能 掌握触发器的使用方法 要求: 实现简单触发器的使用 2、 实验所用仪器、材料 微型计算机一台 SQL server 2008 3、 实验原理 触发器与存储过程非常相似,触发器也是SQL 语句集,两者惟一的区别是触发器不能用EXECUTE 语句调用,而是在用户执行Transact-SQL 语句时自动触发(激活)执行。触发器是一个在修改指定表中的数据时执行的存储过程。经常通过创建触发器来强制实现不同表中的逻辑相关数据的引用完整性或者一致性。由于用户不能绕过触发器,所以可以用它来强制实施复杂的业务规则,以此确保数据的完整性。触发器不同于存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如UPDATE、INSERT、DELETE 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。4、 实验过程及数据记录创建触发器BB(修改表S中的数据时SC中的数据也同时修改了)CREATE TRIGGER BB ON S FOR UPDATE ASIF UPDATE(S#)BEGINUPDATE SC SET SC.S#=A.S# FROM INSERTED A,DELETED BWHERE SC.S#=B.S#END查看表SC的数据SELECT * FROM SCWHERE S#=200510405101修改表S中的数据UPDATE S SET S#=000000000000查看表SC中的数据(验证触发器的效果)SELECT * FROM SCWHERE S#=000000000000CREATE TRIGGER AA ON S FOR DELETE AS DELETE FROM SC WHERE S# IN (SELECT S# FROM S)删除触发器BBDROP TRIGGER BB5、 实验总结触发器的作用触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。它能够对数据库中的相关表进行级联修改,强制比CHECK 约束更复杂的数据完整性,并自定义错误消息,维护非规范化数据以及比较数据修改前后的状态。与CHECK 约束不同,触发器可以引用其他表中的列。在下列情况下,使用触发器将强制实现复杂的引用完整性:强制数据库间的引用完整性。创建多行触发器,当插入、更新或者删除多行数据时,必须编写一个处理多行数据的触发器。执行级联更新或级联删除这样的动作。 级联修改数据库中所有相关表。撤销或者回滚违反引用完整性的操作,防止非法修改数据。与存储过程的区别触发器与存储过程主要的区别在于触发器的运行方式。存储过程必须由用户、应用程序或者触发器来显示式地调用并执行,而触发器是当特定事件出现的时候,自动执行或者激活的,与连接到数据库中的用户或者应用程序无关。当一行被插入、更新或者从表中删除时触发器才运行,同时这还取决于触发器是怎样创建的。在数据修改时,触发器是强制业务规则的一种很有效的方法。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论