PLSQL跳出嵌套循环的小例子

来源:互联网 发布:永安市招聘淘宝运营 编辑:程序博客网 时间:2024/05/17 21:55

转自:http://www.cnblogs.com/gaojian/archive/2012/11/13/2768455.html

DECLARE   v_cnt NUMBER:=0;   v_out_ext BOOLEAN:=FALSE;   v_in_ext  BOOLEAN:=FALSE;BEGIN   <<Outer_loop>>   LOOP     EXIT WHEN v_cnt>20;     <<Inner_loop>>     LOOP         dbms_output.put_line(v_cnt);         v_cnt:=v_cnt+1;         IF v_cnt>5 THEN             v_in_ext:=TRUE;         END IF;         EXIT Outer_loop WHEN (v_in_ext = TRUE);              END LOOP;      dbms_output.put_line('++++++++++++++++++++');   END LOOP;END;

运行结果:

anonymous block completed012345

如果改成跳出内部循环:

DECLARE   v_cnt NUMBER:=0;   v_out_ext BOOLEAN:=FALSE;   v_in_ext  BOOLEAN:=FALSE;BEGIN   <<Outer_loop>>   LOOP     EXIT WHEN v_cnt>20;     <<Inner_loop>>     LOOP         dbms_output.put_line(v_cnt);         v_cnt:=v_cnt+1;         IF v_cnt>5 THEN             v_in_ext:=TRUE;         END IF;         EXIT Inner_loop WHEN (v_in_ext = TRUE);              END LOOP;      dbms_output.put_line('++++++++++++++++++++');   END LOOP;END;

运行结果:

anonymous block completed012345++++++++++++++++++++6++++++++++++++++++++7++++++++++++++++++++8++++++++++++++++++++9++++++++++++++++++++10++++++++++++++++++++11++++++++++++++++++++12++++++++++++++++++++13++++++++++++++++++++14++++++++++++++++++++15++++++++++++++++++++16++++++++++++++++++++17++++++++++++++++++++18++++++++++++++++++++19++++++++++++++++++++20++++++++++++++++++++
0 0