资源描述:
《数据库实验代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、视图与存储过程一、实验目的1、掌握视图的定义及使用2、掌握存储过程的建立和调用二、实验预习1、基本表与视图有什么不同?哪种视图可以更新?2、视图定义语句格式:3、什么是存储过程,其作用主要是什么?三、实验内容和要求1、视图(将执行的SQL语句写在下面)(1)建立视图IS_STUDENT,视图中包含信息系全体学生的基本信息。createviewIS_STUDENTcreateviewIS_STUDENTasselect*fromStudentwhereSDEPT='信息系'go(2)建立视图CJ_STUDENT,视图中包含所有成绩
2、不及格的学生的学号,姓名,课程名,成绩。createviewCJ_STUDENTasselectdistincts.sno,sname,cname,gradefromStudents,Sc,CoursecwhereGRADE<60andc.CNO=Sc.CNOands.SNO=Sc.SNOgo(3)建立视图AVG_CJ,视图包括学生的学号以及他们的平均成绩,按成绩降序排列。createviewAVG_CJasselecttop100sno,AVG(grade)asavggfromScgroupbySNOorderbyavggde
3、scgo(4)修改视图IS_STUDENT,将年龄均加1。观察基本表Student中相应的数据是否发生变化。(5)在视图IS_STUDENT中插入新的记录,学号为,姓名为张玉,女,21岁。insertintoIS_STUDENT(sno,sname,ssex,sage)values('','张玉','女',21)go(6)根据视图AVG_CJ,查询平均成绩大于60的学生的学号。selectsnofromAVG_CJwhereavgg>60go2、存储过程(1)建立存储过程student_Grade1,功能是查询计算机系学生的成绩
4、,包括学号,姓名,课程名,成绩,按学号升序排序。存储过程代码:createprocstudent_Grade1asselects.sno,sname,cname,gradefromStudents,Coursec,Scwheres.SNO=Sc.SNOandc.CNO=sc.CNOorderbys.sno执行存储过程代码:execstudent_Grade(2)建立存储过程student_Grade2,功能是根据参数提供的系名,查询该系学生的成绩,包括学号,姓名,课程名,成绩,按学号升序排序。存储过程代码:createprocs
5、tudent_Grade2@sdeptvarchar(20)asselects.sno,sname,cname,gradefromStudents,Coursec,Scwheres.SNO=Sc.SNOandc.CNO=sc.CNOandsdept=@sdeptorderbys.sno执行存储过程代码:execstudent_Grade2'信息系'(3)建立存储过程student_Grade3,功能是根据参数提供的学生的姓名和课程名,查询该学生相应的课程成绩,若存在不为空的成绩,则返回参数值为成绩值,否则返回-1。存储过程代码:
6、执行存储过程代码:(4)建立存储过程check_Xk,功能是根据提供的参数学号和课程号,完成选课记录的插入功能。要求如下:§首先检查该课程选课人数是否已满(可自己根据表中数据的情况定义一个限定值),若满,则返回一个0;若不满,继续检查该学生是否已经选满3门课程,若满,则返回-1,否则将选课记录插入到SC表中,并返回1。存储过程代码:createprocstudent_Grade2@sdeptvarchar(20)asselects.sno,sname,cname,gradefromStudents,Coursec,Scwhere
7、s.SNO=Sc.SNOandc.CNO=sc.CNOandsdept=@sdeptorderbys.sno执行存储过程代码execstudent_Grade2'信息系'五、评阅成绩实验预习20%实验过程20%实验结果30%实验报告30%总成绩