实验10:数据库完整性_第1页
实验10:数据库完整性_第2页
实验10:数据库完整性_第3页
实验10:数据库完整性_第4页
实验10:数据库完整性_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、实验 10:数据完整性实验班级:计算机科学与技术2班 学号: 110 姓名: 徐旸 一、实验目的本实验的目的是通过实验使学生加深对数据完整性的理解,学会创建和使用触发器。二、实验要求三、实验内容在SQL Server Management Studio中创建触发器1.在SQL Server Management Studio中,由服务器开始逐步扩展到触发器所属表的数据库(本例为学生选课数据库),打开表文件夹,在表窗口中用鼠标右击触发器所属的表(本例为选课表)。在弹出菜单上选择“所有任务”“管理触发器”项,则弹出触发器属性对话框。2.创建一个insert触发器,当在选课表中插入一条新记录时,给出

2、你已经插入了一条新记录!的提示信息。程序代码如下:create trigger stuinsert on 选课for insertasdeclare msg char(50)set msg= 你已经插入了一条新记录!print msg打开选课表,往选课表输入一条任意数据,查看结果。3.在学生表上建立触发器trg1,当修改学生表中某个学生的学号时,如果选课表中存在该学生的选修记录时,则修改该同学的学号。create trigger trg1 on 学生for updateasprint 触发器trg1 开始工作-declare old_id nchar(6)declare new_id ncha

3、r(6)select old_id =学号 from deletedselect new_id =学号 from insertedif UPDATE(学号)beginupdate 选课 set 学号=new_id where 学号=old_id end4.在选课表上建立触发器trg2,当插入一行数据时,如果学号(Stid)和课程号(cid)错误则取消插入操作。5.创建一个insert触发器,当在选课表中插入一条新记录时,学号和课程号必须是已经存在,且成绩应该在0-100之间。 程序代码如下: create trigger scinsert on 选课 for insert as declare

4、 gradevalue real set gradevalue=(select grade from inserted) print 触发器开始工作 if not exists(select 学号 from inserted where 学号 in(select 学号 from pupil) begin print 无此学生的编号,请重新确认! rollback transaction endelse begin if not exists(select 课程号 from inserted where 课程号 in(select 课程号 from course) begin print 无此课

5、程的编号,请重新确认! rollback transaction end else begin if gradevalue100 begin print 分数有误,请重新确认! rollback transaction end else print 数据插入成功! endend6.创建一个after触发器,在学生表中删除某学生的记录时,删除其相应的选课记录。 程序代码如下: create trigger studelete on 学生 for delete as declare stunum char(10) select stunum=学号 from deleted if not exists(select * from 学生,选课 where 学生.学号=选课.学号 and 学生.学号=stunum) print 无此学生的选课记录! else be

温馨提示

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

评论

0/150

提交评论