有时候编写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; |
本文通过一个具体的案例,详细解析了Oracle PL/SQL中RETURN、EXIT和CONTINUE三种流程控制语句的区别与用法。当条件满足时,RETURN会立即退出整个存储过程,EXIT用于跳出当前循环进入外层循环,而CONTINUE则结束本次循环继续下一次循环。
2266

被折叠的 条评论
为什么被折叠?



