1.GOTO,主要用于跳转,但会打乱我们的程序逻辑,一般不使用,它可以实现RETURN,EXIT的功能2.RETURN,返回程序末尾,结束程序3.EXIT,主要用于退出当前循环,相当于java中的break.4.要实现java中continue的功能可以使用自定义异常的方式它们之间的比较
- --这里的GOTO相当于下面的EXIT用法
- BEGIN
- FOR i IN 1..2 LOOP
- IF i=2 THEN
- GOTO label;
- END IF;
- dbms_output.put_line("i="||i);
-
- END LOOP;
- <<label>>
- dbms_output.put_line("the last...");
- END;
- /
- i=1
- the last...
- PL/SQL procedure successfully completed.
- BEGIN
- FOR i IN 1..2 LOOP
- IF i=2 THEN
- --GOTO label;
- EXIT;
- END IF;
- dbms_output.put_line("i="||i);
-
- END LOOP;
- <<label>>
- dbms_output.put_line("the last...");
- END;
- /
- i=1
- the last...
- PL/SQL procedure successfully completed.
- BEGIN
- FOR i IN 1..2 LOOP
- IF i=2 THEN
- --GOTO label;
- --EXIT;
- RETURN;
- END IF;
- dbms_output.put_line("i="||i);
- END LOOP;
- <<label>>
- dbms_output.put_line("the last...");
- END;
- /
- i=1
- PL/SQL procedure successfully completed.
- --下面相当于上面的RETURN
- BEGIN
- FOR i IN 1..2 LOOP
- IF i=2 THEN
- GOTO label;
- --EXIT;
- --RETURN;
- END IF;
- dbms_output.put_line("i="||i);
- END LOOP;
- dbms_output.put_line("the last...");
- <<label>>
- NULL;--这个NULL不能省略,<<label>>不能在END;END LOOP;等之前
- END;
- /
- i=1
- PL/SQL procedure successfully completed.
自定义异常的方式实现continue的功能- DECLARE
- e_My_Exception EXCEPTION;
- --PRAGMA EXCEPTION_INIT (e_My_Exception, -1401);
- BEGIN
- FOR i IN 1..2 LOOP
- BEGIN
- IF i=2 THEN
- RAISE e_My_Exception;
- END IF;
- dbms_output.put_line("i="||i);
- EXCEPTION
- WHEN e_My_Exception THEN
- NULL;
- END;
- END LOOP;
- dbms_output.put_line("the last...");
- END;
- /
CentOS 5.5命令行安装Oracle 10GLinux 5安装Oracle10g 简易操作手册相关资讯 Oracle教程
- Oracle中纯数字的varchar2类型和 (07/29/2015 07:20:43)
- Oracle教程:Oracle中查看DBLink密 (07/29/2015 07:16:55)
- [Oracle] SQL*Loader 详细使用教程 (08/11/2013 21:30:36)
| - Oracle教程:Oracle中kill死锁进程 (07/29/2015 07:18:28)
- Oracle教程:ORA-25153 临时表空间 (07/29/2015 07:13:37)
- Oracle教程之管理安全和资源 (04/08/2013 11:39:32)
|
本文评论 查看全部评论 (0)