第10章 存储过程与存储函数

【例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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值