一、if判断存储过程。
1、案例
根据传入参数score,判定当前分数对应的分数等级,并返回。
如果score>=85优秀,score>=60及格,否则不及格。
create procedure p3()
begin
declare score int default 58;
declare result varchar (10);
if score >= 85 then
set result := '优秀';
else if >= 60 then
set result := '及格';
else
set result := '不及格';
end if;
select result;
end;
2、调用:
call p3;
二、参数。
分为in,out,inout三种。
类型 | 含义 | 备注 |
---|---|---|
IN | 该类型参数作为输入,也就是需要调用时传入值 | 默认 |
OUT | 该类型参数作为输出,也就是该参数可以作为返回值 | |
INOUT | 既可以作为输入参数,也可以作为输出参数 |
1、用法。
create procedure 存储过程名称([IN/OUT/INOUT 参数名 参数类型])
begin
--sql语句
end;
2、案例1。
根据传入参数score,判定当前分数对应的分数等级,并返回。
如果score>=85优秀,score>=60及格,否则不及格。
create procedure p4(in score int,out result varchar(10))
begin
if score >= 85 then
set result := '优秀';
else if >= 60 then
set result := '及格';
else
set result := '不及格';
end if;
end;
调用
call p4(68,@result);
查看变量
select @result;
3、案例2。
将传入的200分制的分数,进行换算,换算成百分制,然后返回。
create procedure p5(inout score double)
begin
set score := score * 0.5;
end;
调用
#赋值,自动换算上面的score变量
set @score = 75;
#调用
call p5(score);
#查看变量
select @score;