黑猴子的家:mysql 流程控制之分支結構

weixin_33807284發表於2019-03-01

分支結構

1、IF函式

語法

SELECT  IF(10>3,'哈哈','嘎嘎');

應用在:BEGIN END 的裡面和外面都行

2、CASE END

案例

CREATE  PROCEDURE case_pro1(IN score FLOAT)
BEGIN
    CASE
    WHEN  score>90 THEN SELECT 'A';
    WHEN  score>80 THEN SELECT 'B';
    WHEN  score>60 THEN SELECT 'C';
    ELSE  SELECT 'D';
    END  CASE;
END $

call casepro1(100)

應用在:BEGIN END 的裡面和外面都行

3、CASE END

類似於switch
案例

CREATE  PROCEDURE case_pro2(IN myweek INT)
BEGIN
    CASE  myweek
    WHEN  1 THEN SELECT '乾煸豆角';
    WHEN  2 THEN SELECT '糖拌西紅柿';
    WHEN  3 THEN SELECT '紅燒肉';
    ELSE  SELECT '乾煸土豆';
    END  CASE;
END  $

call case_pro2(1)

應用在:BEGIN END 的裡面和外面都行

4、IF ELSEIF ELSE

類似於多重IF
語法

IF條件1 THEN 語句1;
ELSEIF條件2 THEN 語句2;
ELSEIF條件3 THEN 語句3;
ELSE語句n;
END  IF ;

案例

CREATE  PROCEDURE if_pro1(IN score FLOAT)
BEGIN
    IF  score>90 THEN SELECT 'A';
    ELSEIF  score>80 THEN SELECT 'B';
    ELSEIF  score>60 THEN SELECT 'C';
    ELSE  SELECT 'D';
    END  IF;
END $

call if_pro1(67)

應用在:只能應用在BEGIN END中

相關文章