常在循环体中看到下面3种语句:

  • return
  • exit
  • continue

举例说明

啥都没有

-- none
begin
for i in 1 .. 10 loop
if i < 5 then
dbms_output.put_line('i < 5, i = ' || to_char(i));
else
dbms_output.put_line('i >= 5, i = ' || to_char(i));
end if;
end loop;
dbms_output.put_line('最外层');
end;
-- 输出
i < 5, i = 1
i < 5, i = 2
i < 5, i = 3
i < 5, i = 4
i >= 5, i = 5
i >= 5, i = 6
i >= 5, i = 7
i >= 5, i = 8
i >= 5, i = 9
i >= 5, i = 10
最外层

使用return

-- return
begin
for i in 1 .. 10 loop
if i < 5 then
dbms_output.put_line('i < 5, i = ' || to_char(i));
else
return; -- return
dbms_output.put_line('i >= 5, i = ' || to_char(i));
end if;
end loop;
dbms_output.put_line('最外层');
end;
-- 输出
i < 5, i = 1
i < 5, i = 2
i < 5, i = 3
i < 5, i = 4

可以看出 return 的作用是直接返回了,直接结束了整个最外层语句块 begin & end /函数/存储过程.

使用exit

-- exit
begin
for i in 1 .. 10 loop
if i < 5 then
dbms_output.put_line('i < 5, i = ' || to_char(i));
else
exit; -- exit
dbms_output.put_line('i >= 5, i = ' || to_char(i));
end if;
end loop;
dbms_output.put_line('最外层');
end;
i < 5, i = 1
i < 5, i = 2
i < 5, i = 3
i < 5, i = 4
最外层

可以看出 exit 的作用是跳出当前整个循环体,不再执行接下来的循环,同 c#/java 等编程语言中的 break.

使用continue

-- continue
begin
for i in 1 .. 10 loop
if i < 5 then
dbms_output.put_line('i < 5, i = ' || to_char(i));
else
dbms_output.put_line('before continue i >= 5, i = ' || to_char(i));
continue; -- continue
dbms_output.put_line('after continue i >= 5, i = ' || to_char(i));
end if;
end loop;
dbms_output.put_line('最外层');
end;
-- 输出
i < 5, i = 1
i < 5, i = 2
i < 5, i = 3
i < 5, i = 4
before continue i >= 5, i = 5
before continue i >= 5, i = 6
before continue i >= 5, i = 7
before continue i >= 5, i = 8
before continue i >= 5, i = 9
before continue i >= 5, i = 10
最外层

可以看出 continue 是跳过/不执行本次循环,会直接进行下一次循环.

Oracle return exit continue的更多相关文章

  1. Oracle循环中的EXIT、RETURN、CONTINUE解密

    有时候编写Oracle中用游标等信息去循环处理逻辑的时候,对EXIT.RETURN.CONTINUE很容易搞混淆,网上搜了资料也不是很清楚,所以本人自己写了一小段代码测试了这三种用法.案例代码如下: ...

  2. break,return,continue的区别和作用

    学习目标: 理解break.return.continue在循环中的区别和作用 学习内容: 1.break break表示结束当前所在的循环. 循环输出到3,当i等于4后,跳出当前循环,继续向下执行循 ...

  3. return exit _exit

    (1)进程终止: C程序的终止分为两种:正常终止和异常终止. 正常终止分为: return, exit, _exit, _Exit, pthreade_exit. 异常中指分为: abort, SIG ...

  4. java中return和continue区别

    编程语言大多是想通的,当然java也不例外,下面的在其他编程语言也是相同的道理. return与continue的区别 先看代码哦 class demo2 { public static void m ...

  5. Oracle中exit,return,continue

    记录exit和return的用法 exit用来跳出循环 loop IF V_KBP IS NULL THEN           EXIT;    END IF; end loop; return跳出 ...

  6. SAP(ABAP):STOP,EXIT,CHECK,RETURN,REJECT,CONTINUE

    Stop 命令使用该命令的程序位置INITIALIZATION, AT SELECTION-SCREEN, START-OF-SELECTION和GET 事件中处理说明1. 当在INITIALIZAT ...

  7. PHP中跳出循环break,continue,return,exit的区别

    1. return 语句的作用       (1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行.       (2) return 返回一个值给调用该方法的语句,返回值的数 ...

  8. php 中 return exit break contiue 详解

    return.break和contiue是语言结构,就如同if语句之类的,但是exit却是个函数. 1.exit函数 作用:Output a message and terminate the cur ...

  9. php echo return exit 区别

    echo.print().printf().sprintf().vardump().varexport():都可以输出内容到网页,但不退出函数或程序. return:返回并立即退出,函数级别. die ...

  10. return break continue

    return 程序返回,不再执行下面的代码(结束当前的方法 直接返回) break 跳出总上一层循环,不再执行循环(结束当前的循环体)continue 跳出本次循环,继续执行下次循环(结束正在执行的循 ...

随机推荐

  1. Solution Set - 多项式杂题

    0. 「OurOJ #46942」/「51nod #1824」染色游戏   Private link & Submission.   首先,显然有 \[f(t)=\sum_{i=0}^t\bi ...

  2. CDS标准视图:分配到任务清单的维护包数据 I_PckgTaskListOpalLocData

    视图名称:分配到任务清单的维护包数据 I_PckgTaskListOpalLocData 视图类型:基础 视图代码: 点击查看代码 @AbapCatalog.sqlViewName: 'IPCKTLO ...

  3. 20250110-FortuneWheel 攻击事件:竟然不设滑点,那就体验一下 Force Investment 吧

    背景信息 攻击交易:https://app.blocksec.com/explorer/tx/bsc/0xd6ba15ecf3df9aaae37450df8f79233267af41535793ee1 ...

  4. c#利用异步方法去模拟多线程处理业务

    一个巧妙的设计 原理:利用async 标识方法执行异步处理 List<long> listIds = new List<long>();//业务任务:假设处理这个列表的任务 o ...

  5. 微服务实战系列(九)-注册中心与网关高可用架构设计-copy

    1. 微服务关系架构图 简要说明: (1)所有应用或者服务要想对外提供服务(包括网关),必须首先到注册中心进行注册. (2)所有访问通过服务网关进行访问,然后由服务网关路由到对应服务中心进行交互访问. ...

  6. Java并发容器详解,及使用场景

    并发容器的由来 在Java并发编程中,经常听到Java集合类,同步容器.并发容器,那么他们有哪些具体分类,以及各自之间的区别和优劣呢? 只有把这些梳理清楚了,你才能真正掌握在高并发的环境下,正确使用好 ...

  7. 2025 最佳免费商用文本转语音模型: Kokoro TTS

    在文本转语音(TTS)技术领域,一项突破性的进展引起了广泛关注--Kokoro TTS 模型凭借其卓越性能和完全免费的商用许可,成为目前最出色的 TTS 解决方案之一.基于广受欢迎的开源框架 Styl ...

  8. sql注入学校后台

    有运气成分,遇到两个学校,子域名查询了一下发现有登录平台,然后就直接sql了 payload:admin'or 1=1--+ 很离谱,这年头这两学校还能直接被sql进入后台. 然后进学校后台后就可以直 ...

  9. 首届超算互联网峰会!天翼云弹性高性能计算E-HPC亮相!

    4月11日,首届超算互联网峰会暨国家超算互联网平台上线仪式在天津顺利举办,来自部委.省级科技厅.中国科学院.中国工程院.计算产业链相关企业等专家.代表数百人共聚一堂,见证了这一历史性时刻.天翼云作为副 ...

  10. Hetao P2071 打字游戏 题解 [ 绿 ] [ 最小生成树 ] [ 动态规划 ] [ 编辑距离 ]

    打字游戏:MST 套 dp 好题. 首先看这个数据范围,\(O(n^4)\) 把每两个字符串之前的编辑距离求一下很显然吧. 然后我们观察一下每一个 node 的性质,发现他要么自己打完,要么从别人那里 ...