十、数据库之流程控制

一、分支结构

1、if函数

  • 功能:实现简单双分支

  • 语法:

    if(表达式1,表达式2,表达式3) -- 如果1成立返回2,否则返回3
    
  • 位置:

    • 可以作为表达式放在任何位置
    • else语句可以省略,如果省略,且when的条件都不满足,返回null

2、case结构

  • 功能:实现多分支

  • 语法1:(等值判断)

    case 表达式或字段
    when1 then 语句1;
    when2 then 语句2...
    else 语句n;
    end case;
    
  • 语法2:(区间判断)

    case 
    when 条件1 then 语句1;
    when 条件2 then 语句2..
    else 语句n;
    end case;
    
  • 位置:

    • 可以放在任何位置,
    • 如果放在begin end 外面,作为表达式结合着其他语句使用
    • 如果放在begin end 里面,一般作为独立的语句使用
    • else语句可以省略,如果省略,且when的条件都不满足,返回null

3、if结构

  • 功能:实现多分支

  • 语法:

    if 条件1 then 语句1;
    elseif 条件2 then 语句2;
    ...
    else 语句n;
    end if;
    
  • 位置:
    只能放在begin end中

二、循环结构

  • 位置:

    都只能放在begin end中

  • 对比:

①、这三种循环都可以省略名称,如果循环中添加了循环控制语句(leave或iterate)则必须添加名称
②、loop 一般用于实现简单的死循环;while 先判断后执行;repeat 先执行后判断,无条件至少执行一次

1、while

语法:
【名称:】while 循环条件 do
		循环体
end while 【名称】;

2、loop(可以用来模拟简单的死循环)

#语法:
【名称:】loop
		循环体
end loop 【名称】;

3、repeat

#语法:
【名称:】repeat
		循环体
until 结束条件 
end repeat 【名称】;

4、循环控制语句

leave:类似于break,用于跳出所在的循环
iterate:类似于continue,用于结束本次循环,继续下一次

原文地址:https://www.cnblogs.com/liuzhixian666/p/13829354.html