文档章节

Oracle return exit continue

taadis
 taadis
发布于 09/22 13:55
字数 472
阅读 15
收藏 0

常在循环体中看到下面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 是跳过/不执行本次循环,会直接进行下一次循环.

© 著作权归作者所有

共有 人打赏支持
taadis
粉丝 1
博文 363
码字总数 54165
作品 0
温州
其他
一篇博客分清shell中的状态返回值-return-break-continue-exit

一篇博客分清shell中的状态返回值-return-break-continue-exit 一、break、continue、exit、return的区别和对比 条件与循环控制及程序返回值命令知识表 二、break、continue、exit功能执行流...

于学康
2017/08/01
0
0
PHP跳出循环的方法及continue、break、exit的区别

continue continue 是用来用在循环结构中,控制程序放弃本次循环continue语句之后的代码并转而进行下一次循环。continue本身并不跳出循环结构,只是放弃这一次循环。如果在非循环结构中(例如...

度_
10/08
0
0
一个让人百思不得其解的代码

能不能注释一下哈,我就搞不明白他是为啥整 这些代码,以及关键句子的作用是啥 /** * 合法性验证 * */ private static function cp(){ //vardump($SERVER); if (self::CPURL == '') return; ...

ziluopao
2015/05/23
419
1
Bash之break、continue和return命令在循环中的作用

1 continue:直接跳过本次循环,进入下一次循环。 #!/bin/bash a=10 b=15 while [ $a -le $b ] do ((a++)) if [ $a -eq 11 ] || [ $a -eq 13 ] then continue fi echo $a done [root@master ......

科技小能手
2017/11/12
0
0
这么做为啥能检测合法性呢

这个合法性指的是啥?还有,为啥这么写就能测出来呢,能不能做一个注释,谢谢! /** 合法性验证 * */ private static function cp(){ if (self::CPURL == '') return; if ($SERVER['HTTPHOS...

ziluopao
2016/03/17
86
0

没有更多内容

加载失败,请刷新页面

加载更多

LSM-Tree 大数据索引技术

一、LSM-Tree概述 核心思想就是放弃部分读能力,换取写入能力的最大化。LSM-Tree ,这个概念就是结构化合并树(Log-Structured Merge Tree)的意思,它的核心思路其实非常简单,就是假定内存...

PeakFang-BOK
19分钟前
0
0
vue.js响应式原理解析与实现

从很久之前就已经接触过了angularjs了,当时就已经了解到,angularjs是通过脏检查来实现数据监测以及页面更新渲染。之后,再接触了vue.js,当时也一度很好奇vue.js是如何监测数据更新并且重新...

peakedness丶
25分钟前
0
0
Weblogic补丁升级操作步骤

linux平台: weblogic1036 1:停止weblogic服务 2:打FMJJ补丁 a:获取weblogic_home目录并执行命令:export weblogic_home="/weblogic/wls1036_x64",(此目录一般为目录“user_projects”上...

fang_faye
38分钟前
0
0
04-《Apache Tomcat 9 User Guide》之部署项目

1.Introduction Deployment is the term used for the process of installing a web application (either a 3rd party WAR or your own custom web application) into the Tomcat server. 部......

飞鱼说编程
38分钟前
0
0
一位十年的老码农他眼中的区块链

大家可能已经听说过比特币、莱特币、以太币等等,以及它们作为一种新货币在市场上的潜力。 有趣的是,很多投资比特币的人也提到了区块链之类的东西。 显然,这项技术是比特币等其他东西的"基...

小刀爱编程
46分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部