oracle存储过程跳出循环问题
来源:互联网 发布:使命召唤12js模式 编辑:程序博客网 时间:2024/06/11 16:46
有时候编写Oracle中用游标等信息去循环处理逻辑的时候,对EXIT、RETURN、CONTINUE很容易搞混淆,网上搜了资料也不是很清楚,所以本人自己写了一小段代码测试了这三种用法。案例代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
PROCEDURE P_TASK IS
BEGIN
FOR MY_CU IN (SELECT SPBH, SPMCH FROM FUCM) LOOP
FOR MY IN (SELECT SPBH, SPMCH FROM FUCM) LOOP
IF MY_CU.SPBH =
'AAA'
THEN
RETURN;
--exit;
--
continue
;
ELSIF MY.SPBH =
'BBB'
THEN
INSERT INTO FUCM_JG (SPBH, SPMCH) VALUES (
'123'
,
'123'
);
ELSE
INSERT INTO FUCM_JG (SPBH, SPMCH) VALUES (
'222'
,
'222'
);
END IF;
INSERT INTO FUCM_JG (SPBH, SPMCH) VALUES (
'333'
,
'333'
);
END LOOP;
END LOOP;
INSERT INTO FUCM_JG (SPBH, SPMCH) VALUES (
'444'
,
'444'
);
END P_TASK;
案例测试得到结果如下(分析的结果中注意本次循环和本循环的区别。本次循环是本循环执行的这次循环):
第一种:使用RETURN的时候,直接跳出存储过程或者函数
第二种:使用EXIT的时候,跳出本循环转而执行本循环的上一级循环的下一次循环。就此案例而言MY_CU.SPBH = 'AAA'为真的时候,直接跳出MY循环转而去执行MY_CU的下一次循环
第三种:使用CONTINUE的时候,本次循环后面的代码部分不再执行,转而执行本循环的下一次循环。就此案例而言MY_CU.SPBH = 'AAA'为真的时候,后面的代码不执行,继续MY的下一次循环
0 0
- oracle存储过程跳出循环问题
- Oracle存储过程中跳出循环的写法
- oracle存储过程循环
- oracle 跳出循环方法
- oracle 存储过程循环更新
- oracle 存储过程循环语法
- Oracle 循环调用存储过程
- oracle存储过程循环修改
- 关于跳出循环问题
- oracle存储过程问题
- oracle 存储过程循环插入10000条记录---存储过程
- oracle 存储过程循环插入10000条记录---存储过程
- oracle存储过程、声明变量、for循环
- oracle 存储过程实例—循环赋值
- Oracle使用游标循环调用存储过程
- oracle存储过程里嵌套游标循环
- oracle存储过程做双层循环
- ORACLE 循环插表存储过程
- svn命令行工具
- 解决VM下centos安装后不能上网问题
- IntellijIdea创建Maven-Struts2的web项目
- 我所理解的java垃圾回收的自适应技术
- (41)引入this
- oracle存储过程跳出循环问题
- 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身
- android sqlite增删改查操作
- Java创建对象的几种方法
- 从零开始安装、编译、部署 Docker
- [vue]项目准备工作
- django 配置mysql后 apache兼容问题
- HDU-4179-Difficult Routes
- MPAndroidChart开源图表库(一)之饼状图