数据库原理及应用实验报告 7.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库原理及应用实验报告 7.doc

实验成绩 《数据库系统原理及应用》 实 验 报 告 七 专业班级: 计算机科学与技术 学 号: 201116910233 姓 名: 范晓曈 指导教师: 苏小玲 2013年 11 月 28 日 实验七名称: SQL Server触发器和游标 实验内容及要求 (使用教材建立的student、course和sc表实现) 1、创建满足下述要求的DML触发器(前触发器和后触发器均可),并验证触发器执行情况。 任务1:限制学生所在系的取值范围为{计算机系,信息管理系,数学系,通信工程系}。 任务2:限制每个学期所开设的课程总学分在20~30范围内。 任务3:限制每个学生每学期选课门数不能超过6门(设只针对单行插入操作) 任务4:限制不能删除有人选的课程 2.创建满足下述要求的游标 任务1:查询java课程的考试情况,并按教材11-19所示样式显示结果数据。 任务2:统计每个系的男生人数和女生人数,并按教材11-20所示样式显示结果数据。 任务3:列出每个系的学生信息,要求首先列出一个系的系名,然后在该系名下列出本系学生的姓名和性别,以此类推,直至列出全部系。要求按教材11-21所示样式显示结果数据。 二、实验目的 掌握触发器的概念;掌握触发器创建方法;掌握游标的概念;掌握游标的使用方法。 实验步骤 创建满足下述要求的DML触发器(前触发器和后触发器均可),并验证触发器执行情况。 任务1:限制学生所在系的取值范围为{计算机系,信息管理系,数学系,通信工程系}。 create trigger tri_limitedept on student after insert,update as IF EXISTS(SELECT * FROM INSERTED WHERE sdept!=计算机 and sdept!=信息管理系 and sdept!=数学系 and sdept!=通信) ROLLBACK insert into student values(001,一,女,通信工程系,1991-01-01,JAVA,5.0) 任务2:限制每个学期所开设的课程总学分在20~30范围内。 create trigger tri_limit on course after insert,update as if exists(select sum(credit) from course where semester in (select semester from inserted ) having sum(credit) not between 20 and 30 ) print你所插入的课程所在学期的总学分不在~30这个范围内 Rollback insert into Course values(C007,0007,007,JAVA,3,2) 任务3:限制每个学生每学期选课门数不能超过6门(设只针对单行插入操作) create trigger tri_count ON SC after INSERT as if(select count(*) from sc where sno=(select sno from inserted))4 begin print 选课超过限额 rollback End insert into sc values(201116910231,C005,2013.09.01,85,75) create trigger tri_Deletekc ON course AFTER DELETE AS IF EXISTS(SELECT * FROM sc join DELETED d on sc.cno=d.cno ) BEGIN PRINT 不能删除有学生选的课程 ROLLBACK END delete from course where cno=C001 declare @name varchar(200),@dept varchar(200),@sscore varchar(10) --声明存放结果集的变量 declare java_cursor cursor for --声明游标 select s.sname,s.sdept,sc.sscore from student s join sc on s.sno=sc.sno join course c on sc.cno=c.cno where cname=java

文档评论(0)

cai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档