当前位置: Oracle DBA培训网-优技培训 >> oracle培训 > Oracle培训教程 >

PL/SQL基础:顺序结构goto和null

PL/SQL基础:顺序结构goto和null

PL/SQL基础:顺序结构goto和null?在程序顺序结构中有两个特殊的语句。GOTO和NULL

·GOTO语句

GOTO语句将无条件的跳转到标签指定的语句去执行。标签是用双尖括号括起来的标示符,在PL/SQL块中必须具有唯一的名称,标签后必须紧跟可执行语句或者PL/SQL块。GOTO不能跳转到IF语句、CASE语句、LOOP语句、或者子块中。

·NULL语句

NULL语句什么都不做,只是将控制权转到下一行语句。NULL语句是可执行语句。NULL语句在IF或者其他语句语法要求至少需要一条可执行语句,但又不需要具体操作的地方。比如GOTO的目标地方不需要执行任何语句时。

案例8:GOGO 和 NULL

代码演示:GOTO和NULL

DECLARE

    sumsal emp.sal%TYPE;

BEGIN

    SELECT SUM(sal) INTO sumsal FROM EMP;

    IF sumsal>20000 THEN

        GOTO first_label;  

    ELSE

        GOTO second_label;  

    END IF;

    <<first_label>>  

    dbms_output.put_line('ABOVE 20000:' || sumsal);

    <<second_label>>  

    NULL;

END;

代码解析:

① 跳转到程序first_label位置,就是②的位置,first_label是一个标签,用两个尖括号包含。

② 无条件跳转到sedond_label位置,就是④的位置。④处不执行任何内容,因此是一个NULL语句。

与C#一样,在PL/SQL中,各种循环之间可以相互嵌套。

技术沙龙MORE+

标签错误:<!-- #Label# labelId=20160707140604 moduleId=1 classId=12231768634 orderby=2 fields=url,title,u_info attribute= datatypeId=22192428132 recordCount=3 pageSize= <htmlTemplate><dt><img src="/images/index_26${index}.jpg" width="100" height="62" /><a href="$url" title="${title}">${title}</a><span>${api.left(u_info,60)}</span></dt></htmlTemplate> -->
我要参加技术沙龙