第9章存储过程

Download Report

Transcript 第9章存储过程

第9章 存储过程
说明:本示例用例的表结构如下所示:
Student (sno, sname, sex,sage,dept, oldgrade, advisor)
Teacher (tno, tname, dept, salary, title)
Course (cno, cname, descry, dept, credit)
SC (sno, cno, grade)
以上数据库表的含义为:
Student—学生:sno(学号),sname(学生姓名),sex(性别),
sage(年龄),dept(系),oldgrade(高考成绩),advisor(导师)
Teacher—教师:tno(教师编号),tname(教师姓名),dept(所在系),
salary(工资),title(职称)
Course—课程:cno(课程号),cname(课程名),descry(课程说明),
dept(开课系),credits(学分)
SC—成绩:sno(学号),cno(课程号),grade(成绩)
• 1. 定义一个存储过程查询XSGL数据库中每
个同学各门功课的成绩
• 2. 从XSGL数据库的三个表中查询,返回学
生学号、姓名、课程名、成绩、学分。该
存储过程不使用任何参数。
• 3. 从XSGL数据库的三个表中查询某人指定
课程的成绩和学分。该存储过程接受与传
递参数精确匹配的值。
4.使用带有通配符参数的存储过程。从三个表的联
接中返回指定学生的学号、姓名、所选课程名称
及该课程的成绩。该存储过程在参数中使用了模
式匹配,如果没有提供参数,则使用预设的默认
值。
5. 使用带OUTPUT参数的存储过程。用于计算指定
学生的总学分,存储过程中使用了一个输入参数
和一个输出参数。
6. 创建名为 select_students 的存储过程,默认情况
下,该过程可查询所有学生信息
7. 创建对表student进行插入、修改和删除操
作的三个存储过程:insertstudent、
updatestudent、deletestudent.
8. 创建一个存储过程,要求设置参数
@fname表示作者的姓,@lname表示作者
的名,titles、authors、titleauthor从表中查
新这个作者以及作者出版的书的信息。
要求输入作者的姓和名,如果存在,则返
回查询结果;否则给出相应的提示信息。
9.利用存储过程实现模糊查询,查找姓王同学
的情况。
10.利用存储过程计算出’计算机系’学生的
平均成绩。