




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库技专题训练I(2014年春)序号:数据库专题训练-触发器实验报告系别:计算机科学与技术班级:计11-3班姓名:黄娟娟学号:11101020324成绩:评语:指导教师签字: 日期: 实验二 触发器一、 实验环境及要求 触发器是一种特殊的存储过程,不能被用户直接调用。可以包含复杂的 SQL语句。在特定事件发生时自动触发执行,通常用于实现强制业务规则和数据完整性。DML触发器分为两种类型:AFTER 触发器和 INSTEAD OF触发器。 通过本次实验掌握触发器的创建方法以及使用方法。二、 实验步骤及结果1) 创建一个名为tri_Insert_S的触发器,测试改触发器的执行情况,并给出实验结果。当插入的新记录中Sage的值不是18至25之间的数值时,就激活该触发器,撤销该插入操作,并给出错误提示。use SXCJgo create trigger tri_Insert_S on Safter insertasif exists (select * from inserted where Sage=18 and Sage=0 and Score=100) begin insert into SC select * from inserted print插入成功! end else begin rollback transaction print分数必须在到之间,插入数据失败! end end goinsert into SCvalues(S3,C3,110)go显示如下: 6) 创建一个名为tir_Update_S的触发器,实现:当学生基本表S中的学号Sno发生变化时,SC选课记录中对应的学号也发生改变。并通过测试数据验证该触发器的执行情况。use SXCJgo if exists(select name from sysobjects where name=tir_Update_S and type=TR) begin drop trigger tir_Update_S endgocreate trigger tir_Update_S on Safter updateas declare OldSno varchar(20),newSno varchar(20)select OldSno=Sno from deleted select newSno=Sno from insertedif (update(Sno) begin update SC set SC.Sno=newSno where SC.Sno=OldSno endelse rollback transactiongoupdate Sset Sno=S11where Sno=S1select * from Sselect * from SC显示如下: S表: SC表: 7) 创建一个名为tri_Delete_C 的触发器,实现:删除一门课程时候,首先判断该课程有否有人选,如果有人选,则不能删除并通过测试数据验证该触发器的执行情况。use SXCJgocreate trigger tri_Delete_C on Cinstead of deleteas if(exists (select * from SC,deleted where SC.Cno=deleted.Cno) begin rollback transaction print该课程无法删除! endelse begin delete from C where Cno in( select Cno from deleted) end godelete from Cwhere Cno=C1go 显示如下: 三、 实验中的问题及解决方法 问题:对update触发器不是很熟悉,在建立此触发器的时候,对于deleted表和inserted表调用的不当,导致老出现问题。 解决方法:通过查询资料,了解到deleted表是存放更新前的数据,而inserted表是存放更新后的数据。通过定义变量,先把表内的数据赋值到变量上,然后能够灵活应用。四、 实验总结 通过实验大概学习了AFTER 触发器和INSTEAD OF触发器。实践了触发器的创建方法以及使用方法。 其中,AFTER 触发器又称为后触发器,该类触发器是在引起触发器执行的修改语句成功完成之后执行。如果修改语句因错误(如违反约束或语法错误)而失败,触发器将不会执行。此触发器只能定义在表上,不能创建在视图上。可以为每个触发操作(INSERT、UPDATE或DELETE)创建多个AFTER触发器。 INSTEAD OF触发器(又称为替代触发器)当引起触发器执行的修改语句停止执行时,该类触发器代替触发操作执行。该类触发器既可在表上定义,也可在视图上定义。对于每个触发操作(INSERT、UPDATE和DELETE)只能定义一个INSTEAD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车轮更换与维修合同
- 看房团合同范本
- 购买矿石加工合同范本
- 个人船转让合同范本
- 家具借租合同范本
- 胎心仪推广合同范本
- 装卸货劳务合同范本
- 购车合同范本复印
- 公司门头制作合同范本
- 商品店租赁合同范本
- 《民营经济促进法》全文学习解读
- 体外诊断试剂生产实施细则(解释版本)
- 第二单元(单元解读)-六年级语文上册(统编版)
- 住院阿尔茨海默病患者安全管理专家共识解读
- T/CIE 161-2023工业软件成熟度分级与评估指南
- 2025年大数据分析师职业技能测试卷:Python数据分析库Pandas高级应用试题
- GB/T 45524-2025公共安全易燃易爆气体探测报警装置
- 关联公司转租协议书
- 三级高频词汇必背
- 《ISO 37001-2025 反贿赂管理体系要求及使用指南》专业解读和应用培训指导材料之2:4组织环境(雷泽佳编制-2025A0)
- 小学生植物知识科普课件
评论
0/150
提交评论