任务六 数据库存储过程设计
文章目录
【实训目的与要求】
1、学会创建存储过程;
2、掌握存储过程的调用、查看、修改和删除存储过程。
3、学会创建存储函数;
4、掌握存储函数的调用、查看、修改和删除存储函数。
【实训原理】
MySQL自定义存储函数与存储过程。
【实训步骤】
参考任务二中提供的表数据内容,编写相应SQL语句,实现存储过程、存储函数的定义及调用。参考教材《数据库系统概论》P253-258的内容,以及《MySQL数据库入门》第6章P156-176的内容。
一、定义、调用存储过程
1.创建不带参数的存储过程
(1)功能:创建一个存储过程,返回软件专业本班1998出生的学生学号,姓名,性别,所获学分情况。
命令:(包括存储过程定义及调用)
DELIMITER //
mysql> CREATE PROCEDURE PRO1()
-> BEGIN
-> SELECT SNo,SName,CNo,CName
-> FROM student
-> WHERE SNo LIKE"16041%" AND SBir LIKE"1998%";
-> END//
mysql> DELIMITER ;
mysql> CALL PRO1();
截图:
(2)功能:查询各学科的最高分,并输出对应科目的学科号和学科名
命令:
DELIMITER //
mysql> CREATE PROCEDURE MAX_SCORE()
-> BEGIN
-> SELECT sc.CNo,CName,MAX(Score)
-> FROM sc,course
-> WHERE sc.CNo=course.CNo
-> GROUP BY sc.CNo;
-> END//
mysql> DELIMITER ;
mysql> CALL MAX_SCORE();
截图:
2.创建带输入参数的存储过程
(1)功能:创建一个存储过程,实现查询某门课程成绩在60~90之间的男学生名单。
(调用存储过程:假设查询“C语言”课程成绩在60~90之间的男学生的名单