PL/SQL 的流程控制语句,包括以下三类:
·控制语句:IF 语句
·循环语句:LOOP 语句,EXIT 语句
·顺序语句:GOTO 语句,NULL 语句
一、条件语句(IF)
例1:
也可将上面的语句优化为这样:
注意:1.ELSIF 不能写成 ELSEIF
2.IF 语句结束必须写上 END ID;
二、CASE 表达式
格式:
例2:
条件语句和 CASE 表达式相比较而言:条件语句更具通用性,而 CASE 的有很大的局限性,与 Java 中的 switch ... case ... 语句相似。
三、循环语句
1、简单循环
LOOP
要执行的语句;
EXIT WHEN<条件语句>; /* 条件满足,跳出循环条件 */
END LOOP;
例:
2、WHILE 循环(相较于 1 ,推荐使用 2 )
WHIEL<布尔表达式>LOOP
要执行的语句;
END LOOP;
例:
3、数字式循环
FOR 循环计数器 IN[REVERSE] 下限 .. 上限 LOOP
要执行的语句;
END LOOP;
例1:
例2:输出 2 -- 100 的质数( while )
输出 2 -- 100 的质数( for )
4、标号和 GOTO
PL/SQL 中 GOTO 语句是无条件跳转到指定的标号去的意思,语法如下:
GOTO label;
... ...
<<lable>> /* 标号是用 << >> 括起来的标识符 */
例:
例2:
例2.2: