《SQL Server数据库应用与维护》-实验10-触发器-答案_第1页
《SQL Server数据库应用与维护》-实验10-触发器-答案_第2页
《SQL Server数据库应用与维护》-实验10-触发器-答案_第3页
《SQL Server数据库应用与维护》-实验10-触发器-答案_第4页
全文预览已结束

下载本文档

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

文档简介

实验报告实验课程SQLServer数据库的应用与维护实验项目实验10触发器指导教师班级学生姓名实验10触发器一、实验目的掌握触发器的创建、修改和删除操作。掌握触发器的触发执行。掌握触发器与约束的不同。二、实验要求1、创建触发器。2、触发器执行触发器。3、验证约束与触发器的不同作用期。4、删除新创建的触发器。三、实验内容(一)基础训练题:1、设计一个触发器(SC_update),当向课程表中修改课程名称时触发该触发器,如果该课程正在被选修,则课程名不能进行修改。2、创建一个触发器,要求实现以下功能:当在选课表中修改记录时,触发该触发器,检查成绩是否在0-100之间。3、在Student表中编写insert的触发器,假如每个班的学生不能超过30个,如果低于此数,添加可以完成;如果超过此数,则插入将不能实现。4、在SC表上编写update触发器,当修改SC表中的grade字段时将其修改前后的信息保存在SC_log表中。(二)提高练习(完成各个步骤,观察实验结果):1.创建触发器①启动SQLServer查询编辑器,选择要操作数据库,如“sc(学生选课)”数据库。②在查询命令窗口中输入以下CREATETRIGGER语句,创建触发器。为sc(学生选课)表创建一个基于UPDATE操作和DELETE操作的复合型触发器,当修改了该表中的成绩信息或者删除了成绩记录时,触发器被激活生效,显示相关的操作信息。--创建触发器CREATETRIGGERtri_UPDATE_DELETE_scONscFORUPDATE,DELETEAS--检测成绩列表是否被更新IFUPDATE(成绩)BEGIN--显示学号、课程号、原成绩和新成绩信息SELECTINSERTED.课程号,DELETED.成绩AS原成绩,INSERTED.成绩AS新成绩FROMDELETED,INSERTEDWHEREDELETED.学号=INSERTED.学号END--检测是更新还是删除操作ELSEIFCOLUMNS_UPDATED()=0BEGIN--显示被删除的学号、课程号和成绩信号SELECT被删除的学号=DELETED.学号,DELETED.课程号,DELETED.成绩AS原成绩FROMDELETEDENDELSE--返回提示信息PRINT‘更新了非成绩列!’③点击快捷工具栏上的快捷按钮,完成触发器的创建。2、触发触发器①在查询命令窗口中输入以下UPDATEsc语句,修改成绩列,激发触发器。UPDATEscSET成绩=成绩+5WHERE课程号=’101②在查询命令窗口中输入以下UPDATEsc语句修改非成绩列,激发触发器。UPDATEscSET课程号=’113WHERE课程号=’103③在查询命令窗口中输入以下DELETEsc语句,删除成绩记录,激发触发器。DELETEscWHERE课程号=’102’请描述实验结果:3.比较约束与触发器的不同作用期①在查询命令窗口中输入并执行以下ALTERTABLE语句,为sc表添加一个约束,使得成绩只能大于等于0且小于等于100。ALTERTABLEscADDCONSTRAINTCK_成绩CHECK(成绩>=0AND成绩<=100)②在查询命令窗口中输入并执行以下UPDATEsc语句,查看执行结果。UPDATEscSET成绩=120WHERE课程号=’108③在查询命令窗口中输入执行以下UPDATEsc语句,查看执行结果。UPDATEscSET成绩=90WHERE课程号=’108’请描述实验结果,并说明约束与触发器的不同:从这部分实验中,我们可以看到,约束优先于触发器起作用,它在更新前就生效,以对要更新的值进行规则检查。当检查到与现有规则冲突时,系统给出错误消息,并取消更新操作。如果检查没有问题,更新被执行,当执行完毕后,再激活触发器。4.删除新创建的

温馨提示

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

评论

0/150

提交评论