




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验成绩 数据库系统原理及应用 实 验 报 告 七 专业班级: 计算机科学与技术 学 号: 201116910233 姓 名: 范晓曈 指导教师: 苏小玲 2013 年 11 月 28 日 实验七名称: SQL Server 触发器和游标 1、实验内容及要求 (使用教材建立的 student、course 和 sc 表实现) 1、创建满足下述要求的 DML 触发器(前触发器和后触发器均可) ,并验证触 发器执行情况。 任务 1:限制学生所在系的取值范围为计算机系,信息管理系,数学系, 通信工程系 。 任务 2:限制每个学期所开设的课程总学分在 2030 范围内。 任务 3:限制每个学生每学期选课门数不能超过 6 门(设只针对单行插入操 作) 任务 4:限制不能删除有人选的课程 2.创建满足下述要求的游标 任务 1:查询 java 课程的考试情况,并按教材 11-19 所示样式显示结果数 据。 任务 2:统计每个系的男生人数和女生人数,并按教材 11-20 所示样式显示 结果数据。 任务 3:列出每个系的学生信息,要求首先列出一个系的系名,然后在该系 名下列出本系学生的姓名和性别,以此类推,直至列出全部系。要求按教材 11-21 所示样式显示结果数据。 二、实验目的 掌握触发器的概念;掌握触发器创建方法;掌握游标的概念;掌握游标的 使用方法。 3、实验步骤 创建满足下述要求的 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:限制每个学期所开设的课程总学分在 2030 范围内。 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) 任务 4:限制不能删除有人选的课程 create trigger tri_Deletekc ON course AFTER DELETE AS IF EXISTS(SELECT * FROM sc join DELETED d on o=o ) BEGIN PRINT 不能删除有学生选的课程 ROLLBACK END delete from course where cno=C001 2.创建满足下述要求的游标 任务 1:查询 java 课程的考试情况,并按教材 11-19 所示样式显示结果数 据。 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 o=o where cname=java open java_cursor -打开游标 fetch next from java_cursor into name,dept,sscore -首先提取第一行 print 选了JAVA课程的学生的成绩: print 姓 名 所在系 成绩 while FETCH_STATUS=0 begin print name+ +dept+ +sscore fetch next from java_cursor into name,dept,sscore end close java_cursor deallocate java_cursor 任务 2:统计每个系的男生人数和女生人数,并按教材 11-20 所示样式显示 结果数据。 declare dept char(20),sex char(20),number int declare cur_number cursor for select sdept,ssex,count(*) from student s group by ssex ,sdept open cur_number fetch next from cur_number into dept,sex,number print 系名 性别 人数 print = while FETCH_STATUS=0 begin print dept +sex +cast(number as varchar) fetch next from cur_number into dept,sex,number end close cur_number deallocate cur_number 任务 3:列出每个系的学生信息,要求首先列出一个系的系名,然后在该系 名下列出本系学生的姓名和性别,以此类推,直至列出全部系。要求按教材 11-21 所示样式显示结果数据。 declare dept varchar(20),name varchar(20),sex varchar(20) declare c1 cursor for select distinct sdept from student open c1 fetch next from c1 into dept while FETCH_STATUS=0 begin print dept+系的学生: declare c2 cursor for select sname,ssex from student where sdept=dept open c2 fetch next from c2 into name,sex while FETCH_STATUS=0 begin print name + sex fetch next from c2 into name,sex end close c2 deallocate c2 print = print fetch next from c1 into dept end close c1 deallocate c1 4、实验心得 在实验开始之初,由于对之前所学的知识有所忘记,所以我选择首先复习 之前的 select 语句的相关知识。 在进行触发器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025黑龙江哈尔滨“丁香人才周”(春季)事业单位引才招聘模拟试卷及答案详解(全优)
- 2025年国家知识产权局知识产权检索咨询中心社会招聘(16人)考前自测高频考点模拟试题及答案详解参考
- 2025安徽芜湖市中西医结合医院(湾沚区总医院)招聘第三方救护车驾驶员(第二批)1人考前自测高频考点模拟试题完整参考答案详解
- 2025江西省财通供应链金融集团有限公司劳务派遣制人员招聘8人考前自测高频考点模拟试题及答案详解(有一套)
- 2025广东广州翰城房地产开发有限公司招聘工作人员、进入人员模拟试卷附答案详解
- 2025河南中医药大学招聘辅导员、行政岗等13名考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025北京市房山区燕山教育委员会所属事业单位第一批招聘教师30人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025南平延平峡阳镇卫生院招聘驾驶员模拟试卷及完整答案详解
- 2025河北保定市雄安新区雄县事业单位招聘89人模拟试卷(含答案详解)
- 2025广东珠海市第二批拟引进业务骨干人员模拟试卷及答案详解参考
- 第49部分:碳酸根、重碳酸根和氢氧根离子的测定 滴定法(报批稿)
- T/CAAM 0004-2023针刺临床试验中假针刺对照设置与报告指南
- 配网全过程管理
- 立陶宛语儿童文学的语言特点论文
- 民宿的内涵专题课件
- 高职高考数学复习第五章数列5-1数列课件
- 高一必修一英语单词默写表
- GB/T 40816.2-2024工业炉及相关工艺设备能量平衡测试及能效计算方法第2部分:钢加热炉
- 增值税发票清单模板
- 人教版六年级数学上册第一单元测试卷
- 2024年注册安全工程师生产技术押密试题及答案
评论
0/150
提交评论