常在循环体中看到下面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. 基于AI底座的数智油气田参考架构

      基于AI底座的数智油气田参考架构 Architecture for Intelligent & Digital Oilfileds Based-on AI 王权 2024.12.29   ...

  2. Mac上安装mongoDB详细教程

    Mac OSX 平台安装 MongoDB MongoDB 提供了 OSX 平台上 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/download ...

  3. NoSQL和SQL的区别、使用场景与选型比较

    什么是NoSQL NoSQL,指的是非关系型的数据库.NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称,它具有非关系型.分布式.不提供ACID的数 ...

  4. java多线程---总结(2)

    ThreadPoolExecutor 官方API解释线程池的好处: (1)通过重用线程池中的线程,来减少每个线程创建和销毁的性能开销. (2)对线程进行一些维护和管理,比如定时开始,周期执行,并发数控 ...

  5. MYSQL查询7天内、7月内的所有日期

    select DATE_SUB(CURDATE(), INTERVAL 6 DAY) ; SELECT date_add( date_sub( ( SELECT DATE_SUB( curdate( ...

  6. wget命令简单使用

    wget是Linux下一个文件下载工具.wget支持HTTP.HTTPS.FTP协议,可使用HTTP代理. 所谓自动下载,是指 wget 可以在用户退出系统的之后在继续后台执行,直到下载任务完成. w ...

  7. linux:rpm

    rpm 对软件包进行管理:查询.卸载.安装 查询 rpm -qa | grep 关键字   :查询指定的包 卸载 rpm -e  关键字  :卸载指定的包 若存在依赖关系: rpm -e  关键字  ...

  8. Vanity Intermediate 统配符提权

    nmap扫描 ┌──(root㉿kali)-[~] └─# nmap -p- -A 192.168.167.234 Starting Nmap 7.94SVN ( https://nmap.org ) ...

  9. 使用VS2022打开解决方案后每个项目都显示“不兼容”

    1.问题描述 今天本地使用VS2022打开之前新建的项目(.Net6框架),突然出现每个项目都显示"不兼容"的问题,导致每个项目的文件都看不到了,如下图所示: 2.解决办法 鼠标右 ...

  10. 俄罗斯方块-shell脚本写的,学习学习

    #!/bin/bash APP_NAME="${0##*[\\/]}" APP_VERSION="1.0" #颜色定义 iSumColor=7 #颜色总数 cR ...