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代码块的相同部分

原文地址:https://www.cnblogs.com/aomidata/p/3544325.html