当前位置:   article > 正文

【MySQL】存储过程 —— if判断_mysql 存储过程 if条件并且关系

mysql 存储过程 if条件并且关系

一、介绍

if 用于做条件判断,具体的语法结构为:

IF  条件1  THEN 				-- 如果条件1成立,则执行THEN之后的SQL逻辑,否则就要去判断ELSEIF的条件2
    .....
ELSEIF  条件2  THEN       -- 可选
    .....
ELSE                     -- 可选
    .....
END  IF;								-- 整个语法块结束,要通过END IF来结束
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在if条件判断的结构中,ELSE IF结构可以有多个,也可以没有。 ELSE结构可以有,也可以没有。


二、案例

根据定义的分数score变量,判定当前分数对应的分数等级。

  • score >= 85分,等级为优秀。
  • score >= 60分 且 score < 85分,等级为及格。
  • score < 60分,等级为不及格。
create procedure p3()
begin
    declare score int default 58;
    declare result varchar(10); -- 分数等级
    
    if score >= 85 then
        set result := '优秀';
    elseif score >= 60 then
        set result := '及格';
    else
        set result := '不及格';
    end if;
    select result;
    
end;

call p3();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

上述的需求我们虽然已经实现了,但是也存在一些问题,比如:score 分数我们是在存储过程中定义死的,而且最终计算出来的分数等级,我们也仅仅是最终查询展示出来而已。

那么我们能不能,把score分数动态的传递进来,计算出来的分数等级是否可以作为返回值返回呢? 答案是肯定的,我们可以通过接下来所讲解的参数 来解决上述的问题。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/1020156
推荐阅读
相关标签
  

闽ICP备14008679号