【例10.3】创建一个带参数的存储过程P_maxGrade,查询指定学号学生的最高分。
use stusys;
select * from score
where sno='191002';
delimiter //
create procedure P_maxGrade(in v_sno char(10))
begin
select max(grade) from score
where sno=v_sno;
end //
delimiter ;
call P_maxGrade('191002');
【例10.4】创建存储过程P_math,如果”高等数学”课程的平均成绩大于80分,则显示”高等数学成绩良好”,否则显示”高等数学成绩一般”。
use stusys;
select * from course a,score
where a.cno=b.cno and a.cname='高等数学';
delimiter //
create procedure P_math(out v_grade char(20))
begin
declare v_avg decimal(4,2);
#将列表赋值给变量
select avg(b.grade) into v_avg
from course a,score b
where a.cno=b.cno and a.cname='高等数学';
#流程控制语句:
if v_avg>80 then
#给一个变量赋值
set v_grade='高等数学成绩良好';
else
set v_grade='高等数学成绩一般';
end if;
end //
delimiter ;
call P_math(@grade);
select @grade