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

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

ID:14679473

大小:81.50 KB

页数:6页

时间:2018-07-29

数据库原理及应用实验报告 7_第1页
数据库原理及应用实验报告 7_第2页
数据库原理及应用实验报告 7_第3页
数据库原理及应用实验报告 7_第4页
数据库原理及应用实验报告 7_第5页
资源描述:

《数据库原理及应用实验报告 7》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验成绩《数据库系统原理及应用》实验报告七专业班级:计算机科学与技术学号:201116910233姓名:范晓曈指导教师:苏小玲2013年11月28日实验七名称:SQLServer触发器和游标一、实验内容及要求(使用教材建立的student、course和sc表实现)1、创建满足下述要求的DML触发器(前触发器和后触发器均可),并验证触发器执行情况。任务1:限制学生所在系的取值范围为{计算机系,信息管理系,数学系,通信工程系}。任务2:限制每个学期所开设的课程总学分在20~30范围内。任务3:限制每个学生每学期选课门数不能超过6门(设只针对单行插入操作)任务4:限制不能删除有人选的课程2.创建

2、满足下述要求的游标任务1:查询java课程的考试情况,并按教材11-19所示样式显示结果数据。任务2:统计每个系的男生人数和女生人数,并按教材11-20所示样式显示结果数据。任务3:列出每个系的学生信息,要求首先列出一个系的系名,然后在该系名下列出本系学生的姓名和性别,以此类推,直至列出全部系。要求按教材11-21所示样式显示结果数据。二、实验目的掌握触发器的概念;掌握触发器创建方法;掌握游标的概念;掌握游标的使用方法。三、实验步骤创建满足下述要求的DML触发器(前触发器和后触发器均可),并验证触发器执行情况。任务1:限制学生所在系的取值范围为{计算机系,信息管理系,数学系,通信工程系}。c

3、reatetriggertri_limitedeptonstudentafterinsert,updateasIFEXISTS(SELECT*FROMINSERTEDWHEREsdept!='计算机'andsdept!='信息管理系'andsdept!='数学系'andsdept!='通信')ROLLBACKinsertintostudentvalues(001,'一','女','通信工程系','1991-01-01','JAVA','5.0')任务2:限制每个学期所开设的课程总学分在20~30范围内。createtriggertri_limitoncourseafterinsert,upd

4、ateasifexists(selectsum(credit)fromcoursewheresemesterin(selectsemesterfrominserted)havingsum(credit)notbetween20and30)print'你所插入的课程所在学期的总学分不在~30这个范围内'RollbackinsertintoCoursevalues('C007','0007','007','JAVA',3,2)任务3:限制每个学生每学期选课门数不能超过6门(设只针对单行插入操作)createtriggertri_countONSCafterINSERTasif(selectcou

5、nt(*)fromscwheresno=(selectsnofrominserted))>4beginprint'选课超过限额'rollbackEndinsertintoscvalues(201116910231,'C005','2013.09.01',85,75)任务4:限制不能删除有人选的课程createtriggertri_DeletekcONcourseAFTERDELETEASIFEXISTS(SELECT*FROMscjoinDELETEDdonsc.cno=d.cno)BEGINPRINT'不能删除有学生选的课程'ROLLBACKENDdeletefromcoursewhere

6、cno='C001'2.创建满足下述要求的游标任务1:查询java课程的考试情况,并按教材11-19所示样式显示结果数据。declare@namevarchar(200),@deptvarchar(200),@sscorevarchar(10)--声明存放结果集的变量declarejava_cursorcursorfor--声明游标selects.sname,s.sdept,sc.sscorefromstudentsjoinscons.sno=sc.snojoincourseconsc.cno=c.cnowherecname='java'openjava_cursor--打开游标fetchn

7、extfromjava_cursorinto@name,@dept,@sscore--首先提取第一行print'选了JAVA课程的学生的成绩:'print'姓名所在系成绩'while@@FETCH_STATUS=0beginprint@name+''+@dept+''+@sscorefetchnextfromjava_cursorinto@name,@dept,@sscoreendclosejava_curs

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。