欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql游标的使用教程

程序员文章站 2022-06-24 19:53:05
在Student_Course数据库上,创建存储过程实现:计算每门课程的平均分,将平均分低于70分的课程号、课程名、平均分存入表fail_course中 DELIMITER...

在Student_Course数据库上,创建存储过程实现:计算每门课程的平均分,将平均分低于70分的课程号、课程名、平均分存入表fail_course中

DELIMITER $$ 
USE `student-course` $$ 
CREATE DEFINER=`root`@`localhost` PROCEDURE `cour_ave_cursor_procedure`() 
BEGIN
declare aveno char(11);
declare avename char(10);
declare avegrade float;
declare flag int;

declare courave cursor for
select course.cno,cname,avg(grade)
from course,sc
where course.cno=sc.cno
group by course.cno;

DECLARE CONTINUE HANDLER FOR
NOT FOUND SET flag=1;
set flag=0;

drop table if exists `student-course`.fail_course;
create table fail_course (aveno char(11),avename char(30), avegrade float);

open courave;
while not flag do
fetch courave into aveno,avename,avegrade;
if (not flag) then
if (avegrade<70) then
insert into fail_course()
values(aveno,avename,avegrade);
end if;
end if;
end while;
close courave;

END  $$ 
DELIMITER ;