数据库的流程控制结构

  作者:记性不好的阁主

流程控制结构


顺序结构:程序从上往下依次执行

分支结构:程序从两条或多条路径中选择一条去执行

循环结构:程序在满足一定条件的基础上,重复执行一段代码


一、分支结构


#1. IF函数

功能:实现简单的双分支

语法:

IF (表达式1,表达式2,表达式3)

执行顺序:

如果表达式1成立,则IF函数返回表达式2的值,否则返回表达式3的值

应用:任何地方


#2. CASE结构


情况1:类似于java中的 switch语句,一般用于实现等值判断

语法:

            CASE  变量 | 表达式 | 字段

            WHEN  要判断的值  THEN  返回的值1或语句1;

            WHEN  要判断的值  THEN  返回的值2或语句2;

            . . .

            ELSE  要返回的值n或语句n

            END CASE


情况2:类似于java中的多重I语句,一般用于实现区间判断

语法:

            CASE  变量 | 表达式 | 字段

            WHEN  要判断的条件1  THEN  返回的值1或语句1;

            WHEN  要判断的条件2 THEN  返回的值2或语句2;

            . . .

            ELSE  要返回的值n或语句n

            END CASE



 案例:学生成绩等级


CREATE PROCEDURE test case(IN score INT)
BEGIN
    CASE
    WHeN score>=90 AND score<=100 THEN SELECT 'A';
    WHeN score>=80 THEN SELECT 'B';
    WHEN score>=60 THEN SElECT 'C';
    ELSE SELECT 'D';
    END CASE;
END $
CALI test case(95)  $


#3. IF结构

功能:实现多重分支

语法:
IF 条件1  THEN  语句1;

ELSEIF 条件2  THEN  语句2;

.  .  .

ELSE 语句n;

END IF;

应用在BEGIN  END 中


 案例:学生成绩等级


CREATE FUNCTION test_if(score INT) RETURNS CHAR
BEGIN
        IF score>=90 AND score<=100 THEN RETURN 'A';
        ElSEIF score>=80 THEN RETURN 'B' ;
        ELSEIF score>=60 THEN RETURN 'C' ;
        ELSE RETURN 'D';
        ENDIF;
END $






相关推荐

评论 抢沙发

表情

分类选择