下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 实验成绩数据库系统原理及应用实验报告 (七) 专业班级: 计科1102班 学 号: 201116910809 姓 名: 曹斌 指导教师: 苏小玲 2013 年 11 月 25 日实验七 名称: SQL Server触发器和游标 一、实验内容及要求1.创建满足下述要求的DML触发器(前触发器和后触发器均可),并验证触发器执行情况。任务1:限制学生所在系的取值范围为计算机系,信息管理系,数学系,通信工程系。任务2:限制每个学期所开设的课程总学分在2030范围内。任务3:限制每个学生每学期选课门数不能超过6门(设只针对单行插入操作)任务4:限制不能删除有人选的课程 2.创建满足下述要求的游标任务1
2、:查询java课程的考试情况,并按教材11-19所示样式显示结果数据。任务2:统计每个系的男生人数和女生人数,并按教材11-20所示样式显示结果数据。任务3:列出每个系的学生信息,要求首先列出一个系的系名,然后在该系名下列出本系学生的姓名和性别,以此类推,直至列出全部系。要求按教材11-21所示样式显示结果数据。2、 实验目的掌握触发器的概念;掌握触发器创建方法;掌握游标的概念;掌握游标的使用方法。3 实验步骤及运行结果1.创建满足下述要求的DML触发器(前触发器和后触发器均可),并验证触发器执行情况。任务1:限制学生所在系的取值范围为计算机系,信息管理系,数学系,通信工程系。create t
3、rigger tri_Insertsdept on Student after insert as if exists(select * from inserted i where i.Sdept!=计算机系and i.Sdept!=信息管理系 and i.Sdept!=数学系and i.Sdept!=通信工程系) Begin print你所插入的学生的系被限制! rollback end goinsert into student values (080000,童彤,女,1990-05-01,服装设计,服装设计系)insert into student values(080000,顾城北,男
4、,1990-06-01,高级编程,计算机系) 任务2:限制每个学期所开设的课程总学分在2030范围内。create trigger tri_Insertcredit on Course after insert as if (select sum(c.Credit) from Course c join inserted i on i.Smester=c.Smester) not between 20 and 30 begin print你所插入的课程所在学期的总学分不在30这个范围内 rollback end go insert into Course values (C012,影视鉴赏,2
5、5,1)insert into Course values (C013,服装设计,16,1)任务3:限制每个学生每学期选课门数不能超过6门(设只针对单行插入操作)create trigger tri_totalcno on SC after insert as declare sno char(9)select sno=inserted.Sno from insertedif exists(select count(*) from SC join Course c on SC.Cno=c.Cno where SC.Sno=sno group by Smester having count(*)
6、2) begin print你所插入的学生选课门数超过门! Rollback end goinsert into SC values(821102,c006,88) insert into SC values(811101,c006,86) 任务4:限制不能删除有人选的课程create trigger tri_deletcno on Course after delete asif exists(select * from Course c join deleted d on d.Cno=c.Cno join SC on SC.Cno=d.Cno)Begin print你所删除的学生存在选课!
7、 rollback end godelete from Course where Cno=c001delete from Course where Cno=c013 2.创建满足下述要求的游标任务1:查询java课程的考试情况,并按教材11-19所示样式显示结果数据。declare name nchar(5),sdept nvarchar(20),grade intprint 选了java课程的学生情况: print姓名 所在系 成绩declare java_cursor cursor for select Sname,Sdept,Grade from Student s join SC on
8、 s.Sno=SC.Sno join Course c on c.Cno=SC.Cno where Cname=java open java_cursorfetch next from java_cursor into name,sdept,grade while FETCH_STATUS =0 begin print name + + sdept + + cast(grade as char(4)fetch next from java_cursor into name,sdept,grade End close java_cursor deallocate java_cursor任务2:统
9、计每个系的男生人数和女生人数,并按教材11-20所示样式显示结果数据。declare sdept nvarchar(20),sex nchar(1), number intprint 系名 性别 人数: print*declare sdeptsex_cursor cursor for select Sdept,Ssex,count(*)from Student group by Sdept,Ssex order by Sdept open sdeptsex_cursorfetch next from sdeptsex_cursor into sdept,sex , number while F
10、ETCH_STATUS =0 begin print sdept + +sex+ +cast(number as char(4)fetch next from sdeptsex_cursor into sdept,sex , numberEnd close sdeptsex_cursor deallocate sdeptsex_cursor任务3:列出每个系的学生信息,要求首先列出一个系的系名,然后在该系名下列出本系学生的姓名和性别,以此类推,直至列出全部系。declare sdept nvarchar(20),name nchar(5),sex nchar(1)declare dept_cu
11、rsor cursor for select distinct Sdept from Student open dept_cursor fetch next from dept_cursor into sdept while FETCH_STATUS =0 begin print sdept print姓名 性别declare information_cursor cursor for select Sname,Ssex from Student open information_cursorfetch next from information_cursor into name,sex while FETCH_STATUS =0 begin print name + + sexfetch next from information_cursor into name,sex End close information_cursor deallocate information_cursorprint print printfetch next from dept_cursor into sdept End close dept_cursor deallocate dept_cursor4、 实验体会或实验中遇到的问题 在实验开始之初,由于对之前所学的知识有所忘记,所以我选择首先
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 传染病患者的心理行为问题
- 中级养老护理沟通技巧
- 中暑的紧急处理与现场急救措施
- 成渝铁路重庆站至江津站段(大渡口)牵引变(站)110千伏外部供电工程环境影响报告表
- 福建福州延安中学2026届初三第二次联考英语试题理试题含解析
- 河北省保定莲池区六校联考2026届初三下学期模拟考试(1)语文试题试卷含解析
- 湖南省长沙市开福区2026届初三4月模拟考试英语试题(文理合卷)试题含解析
- 四川省乐山市第七中学2026届初三年级第二学期期初考试英语试题含解析
- 重庆梁平县联考2025-2026学年初三下第四次月考试题英语试题含解析
- 部编版一年级语文上册《我是中国人》
- 土地管理课件
- 大米加工企业安全生产管理制度
- 做账实操-农资站的账务处理会计分录示例
- 工程建设执业资格法规教案(2025-2026学年)
- 打桩中介费合同范本
- 西门子-PLM产品协同研发平台建设规划方案
- 宜宾市翠屏区2025年面向社会公开招聘社区工作者(社区综合岗)(16人)备考题库附答案解析
- 中建项目平面布置CAD制图标准
- 机械手安全培训试题及答案解析
- 2025年山东地区光明电力服务公司招聘笔试参考题库附带答案详解
- 2024年郑州财税金融职业学院单招职业适应性考试题库附答案详解
评论
0/150
提交评论