plsql结束_SQL记录-PLSQL-EXIT/CONTINUE/GOTO
在PL/SQL编程语言中,EXIT语句有以下两种用法:
当循环中遇到EXIT语句循环立即终止,程序控制继续下一个循环语句后面。
如果使用嵌套循环(即一个循环内的另一个循环),EXIT指令将停止最内层循环的执行,并开始执行的下一行代码的程序段之后。
语法:
在PL/SQL EXIT语句的语法如下:
EXIT;
流程图:
例如:
DECLAREa number(2):=10;BEGIN-- while loop execution WHILEa <20LOOP
dbms_output.put_line ('value of a: '||a);a :=a +1;IFa >15THEN-- terminate the loop using the exit statementEXIT;ENDIF;ENDLOOP;END;/
当上述代码在SQL提示符执行时,它产生了以下结果:
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
PL/SQL procedure successfully completed.
EXIT WHEN 语句
在EXIT-WHEN语句允许的条件下,在WHEN子句进行评估计算。如果条件为真,循环完成并控制立即传递到END LOOP语句。
以下是EXIT WHEN语句的两个重要方面:
直到条件为true,EXIT-WHEN语句就像一个空语句,除了评估计算条件,并不会终止循环。
循环内部的语句必须更改条件的值。
示例:
PL/ SQL EXIT WHEN语句的语法如下:
EXITWHENcondition;
EXIT WHEN语句使用EXIT语句条件代替条件语句 if-then 退出一样
示例:
DECLAREa number(2):=10;BEGIN-- while loop execution WHILEa <20LOOP
dbms_output.put_line ('value of a: '||a);a :=a +1;-- terminate the loop using the exit when statementEXITWHENa >15;ENDLOOP;END;/
当上述代码在SQL提示符执行时,它产生了以下结果:
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
PL/SQL procedure successfully completed.
PL/SQL CONTINUE语句
CONTINUE语句使循环跳过其身的其余部分,并立即重新测试其使用条件重申之前。换句话说,它会强制循环的下一次迭代发生,跳过其间的任何代码。
语法:
continue语句的语法如下:
CONTINUE;
流程图
例子:
DECLARE
a number(2):=10;BEGIN--whileloop execution
WHILE a <20LOOP
dbms_output.put_line ('value of a: '||a);a :=a +1;IF a =15THEN
--skip the loop usingthe CONTINUE statement
a :=a +1;CONTINUE;ENDIF;ENDLOOP;END;/
当上述代码在SQL提示符执行时,它产生了以下结果:
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 16
value of a: 17
value of a: 18
value of a: 19
PL/SQL procedure successfully completed.
PL/SQL GOTO语句
在PL/SQL编程语言的GOTO语句提供无条件跳转到在同一个子程序的GOTO标签的语句。
注意:GOTO语句是不建议使用在任何编程语言,因为它使得程序难以跟踪控制流程,使程序难以理解,难以修改。如果使用GOTO的任何程序可以改写,就尽量不要使用GOTO语句。
语法:
在PL/ SQL一个GOTO语句的语法如下:
GOTO label;....<>statement;
流程图:
例子:
DECLARE
a number(2):=10;BEGIN<>--whileloop execution
WHILE a <20LOOP
dbms_output.put_line ('value of a: '||a);a :=a +1;IF a =15THEN
a :=a +1;GOTO loopstart;ENDIF;ENDLOOP;END;/
当上述代码在SQL提示符执行时,它产生了以下结果:
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 16
value of a: 17
value of a: 18
value of a: 19
PL/SQL procedure successfully completed.
使用GOTO语句的限制
PL/SQL GOTO语句强加以下限制:
goto语句不能跳转到IF语句,CASE语句,循环语句或子块。
goto语句不能从一个分支IF语句子句到另一个或从一个CASE语句WHEN子句到另一个。
goto语句不能从外部块分支成子块(即一个内BEGIN-END块)。
goto语句不能分支出来一个子程序。提前结束子程序,要么使用RETURN语句或子程序结束前在正确的GOTO分支的地方。
goto语句不能从一个异常处理分支回到当前BEGIN-END块。但是,GOTO语句可以从一个异常处理程序跳转到一个封闭块。
plsql结束_SQL记录-PLSQL-EXIT/CONTINUE/GOTO相关推荐
- plsql 中的记录型变量和引用型变量
/* plsql 中的记录型变量和引用型变量 查询某个员工的姓名和工资 练习记录型变量: 定义变量: emp_rec emp%rowtype; sql语句: select * into emp_rec ...
- python强制退出循环_for循环、while循环、break跳出循环、continue结束本次循环、exit退出本次脚本...
for循环 格式: for i in `seq 1 3` //表示从1-3,运行3次,i=1,i=2,i=3; do echo $i //每次执行输出 变量i的值 done //for循环结尾 或 f ...
- for循环、while循环、break跳出循环、continue结束本次循环、exit退出脚本
for循环 •语法:for 变量名 in 条件; do -; done 示例 计算1到100所有数字的和 #!/bin/bash sum=0 for i in `seq 1 100` dosum=$[ ...
- break, continue, goto, return语句详解
关于break,continue,goto,return语句区别详解(所有语言通用的语法知识) 一.break 1. break语句形式: break; 2. break语句功能: A. switch ...
- Oracle数据库安装+汉化版PLsql+Oracle插件,plsql连接Oracle步骤和报错解决办法
从https://download.csdn.net/download/fxiaoyaole/10449523 此链接下载里面有所资源,资源包括(Oracle两个数据库压缩包win64_11gR2_d ...
- 中断语句break、continue、return、exit和goto的区别
1.continue语句 continue语句是这5种结束循环的方式中最特殊的,因为它并没有真的退出循环,而是只结束本次循环体的执行,所以在使用continue的时候要注意这一点. 下图为各种循环结构 ...
- php中循环跳过,php for循环的exit / break / continue /goto 停止、跳过循环、继续循环...
php 与 JavaScript 有很多相似的地方: for循环中 也有两个相同: 只是 php 比 js 多了一个 exit , 其他用法一样: for($i =1;$i<11;$i++){ ...
- Linux centosVMware shell编程 for循环、while循环、break跳出循环、continue结束本次循环、exit退出整个脚本...
一.for循环 语法:for 变量名 in 条件; do -; done 案例1 #!/bin/bash sum=0 for i in `seq 1 100` do sum=$[$sum+$i] ec ...
- SQL记录-PLSQL异常
PL/SQL异常 程序执行过程中出现错误情况被称为在PL/SQL异常. PL/SQL支持程序员在程序中使用异常块捕获这样的条件并采取适当的动作应对错误情况.有两种类型的异常: 系统定义的异常 用户定义 ...
最新文章
- 【Python】分享几个好用到爆的Python内置模块
- =在 java中怎么表示_在Java中各种类型运算符的介绍与其基本使用方式(有具体使用示例)...
- LeetCode MySQL 614. 二级关注者
- 系统架构工作笔记-数据展示进程与读取数据进程分离,实现低耦合(展示软件可适用任意厂家数据库)
- BlockingQueue - LinkedBlockingQueue常用API
- html 列导航包括导航,在HTML5中,主导航应该在元素内部还是外部?
- 狂神说springboot源码_狂神说SpringBoot04:JSR303数据校验及多环境切换
- 【Mockplus教程】账号和购买
- android 加载图片进度条,实现微信图片加载显示进度的效果-LoadingProgress
- 【oracle报错】ORA-01722:无效数字
- 【转】在WPF显示动态GIF图片
- 数据分析报告怎么写(五)
- nRF51822定时器设置
- apache doris windows下fe开发环境搭建
- php网页采集 修改版
- python入门基础002
- GitHub Desktop 上实现项目的回滚操作,详细介绍
- 雅思阅读真经总纲_想提高雅思阅读?这是你一定要知道的8本书
- 语义网知识表示方法:RDF,RDFS与OWL
- 【网络安全】MS17-010“永恒之蓝”漏洞的利用
热门文章
- XML代码读取,插入数据
- vue 移动端头像裁剪_基于vue的移动端图片裁剪压缩处理
- 捷径说:健身房智能管理
- Linux tar命令选项顺序不同导致Exiting with failure status due to previous errors
- php中的eval,php eval函数用法—-PHP中eval()函数小技巧 | 学步园
- 鼎桥通信牵手成都大运会 全力赋能“智慧大运”
- http 策略之 Referrer-Policy
- [源码和文档分享]使用TransparentBlt函数实现绘制透明位图
- 周景王,姬贵(?-前520年)
- 浮点数的阶码怎么计算_每日一题| 计算机考研20200816