PL/SQL系列2-条件与循环控制
一 IF语句
if语句主要有3种
if .... then ......endif
if......then else end if
if ....then elsif....then .....[else]...end if
if语句的陷阱:
1.一个if总有一个匹配的end if
2.end与if中间有空格
3.关键字elsif不是elseif ,没有'E'
4.只在关键字end if后使用分号(;)
二 CASE语句
oracle 知道8i才开始支持CASE的,二PL/SQL是从Oracle9iR1版本才开始支持CASE的。
简单的CASE语句
CASE expression
WHEN result1 THEN
statements1
WHEN result2 THEN
statemnets2
.........
ELSE
statements_else
END CASE;
如果你没有明确的使用else字句,而且又没有一个when字句能匹配case的结果,则PL/SQL会抛出一个CASE_NOT_FOUND的错误。
三 goto语句
goto label_name
其中label_name是一个代表目标语句的标签名称。这个标签名称在程序中是这样定义的:
《label_name》
如
--goto语句小例子 set serveroutput on --打开屏幕输出 begin goto second_output; dbms_output.put_line('this line will never execute'); <<second_output>> dbms_output.put_line('we are here'); end;
一些需要注意的地方
1.一个标签后面至少跟着一个可执行语句
2.goto语句的目标标签必须和goto语句在同一个作用域内
3.goto语句的目标标签必须和goto语句在PL/SQL代码块的相同部分