将EXIT 或是 RETURN 用在LOOP 。。。。END LOOP;中都可以中断循环,但是它们有一个很明显的不同
看下面两个例子:
例一:
create or replace package body CUX_TEST is
PROCEDURE main IS
l_count NUMBER;
l_test NUMBER:=6;
BEGIN
dbms_output.put_line('开始循环');
FOR l_count IN 1..10 LOOP
IF l_test=l_count THEN
dbms_output.put_line('满足条件,退出循环');
RETURN;
ELSE
dbms_output.put_line('继续循环');
END IF;
END LOOP;
dbms_output.put_line('结束程序');
END ;
end CUX_TEST;
例二:
create or replace package body CUX_TEST is
PROCEDURE main IS
l_count NUMBER;
l_test NUMBER:=6;
BEGIN
dbms_output.put_line('开始循环');
FOR l_count IN 1..10 LOOP
IF l_test=l_count THEN
dbms_output.put_line('满足条件,退出循环');
EXIT;
ELSE
dbms_output.put_line('继续循环');
END IF;
END LOOP;
dbms_output.put_line('结束程序');
END ;
end CUX_TEST;
下面来看以上两个例子的执行结果:
例一:
开始循环
继续循环
继续循环
继续循环
继续循环
继续循环
满足条件,退出循环
例二:
开始循环
继续循环
继续循环
继续循环
继续循环
继续循环
满足条件,退出循环
结束程序
以上的例子说明了一个问题,EXIT只是单纯的结束循环,但还会继续执行程序包中其他的内容,而RETURN则是直接中断整个程序.
PL/SQL 程序包中的EXIT和RETURN
原创
©著作权归作者所有:来自51CTO博客作者eteorlWJ的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
SQL数据库入门06:游标、存储过程的操作及T-SQL程序设计
本文介绍基于Microsoft SQL Server软件,实现数据库T-SQL语言程序设计,以及游标的定义、使用与存储过程的创建、信息查找的方法~
SQL 数据库 SQL Server MySQL 存储过程 -
pl/sql exit和return
1.exit只能用于循环中,并且退出循环
sql SQL ide -
介绍dbms_registry PL/SQL程序包
[gview file="http://www.oracledatabase12g.com/wp-content/uploads/2011/03/介绍dbms_registry-PLSQL程序包1.ppt"]
Oracle 数据库 packages dbms registry$ -
return和exit
return从当前函数返回而exit结束正在运行的程序 示例:
#include 函数返回 -
子程序和程序包-1
--准备环境 --表1 CREATE TABLE itemfile ( itemcode varchar2(4), itemdesc varchar2(20), p_category varchar2(20), qty_hand number(5), re_level number(5),
oracle 存储 table insert application date