PLSQL:用exit代替continue
来源:互联网 发布:u盘数据恢复免费 编辑:程序博客网 时间:2024/05/01 23:52
因为11g才支持continue,在有些低的版本中可能需要改写
SQL> SQL> DECLARE 2 total NUMBER(9) := 0; 3 counter NUMBER(6) := 0; 4 BEGIN 5 LOOP 6 counter := counter + 1; 7 total := total + counter * counter; 8 DBMS_OUTPUT.PUT_LINE('Current Counter: ' || TO_CHAR(counter) || ' Current Total: ' || TO_CHAR(total)); 9 -- exit loop when condition is true 10 EXIT WHEN total > 250; 11 END LOOP; 12 DBMS_OUTPUT.PUT_LINE('Counter: ' || TO_CHAR(counter) || ' Total: ' || TO_CHAR(total)); 13 END; 14 / PL/SQL procedure successfully completed SQL> set serveroutput onSQL> / Current Counter: 1 Current Total: 1Current Counter: 2 Current Total: 5Current Counter: 3 Current Total: 14Current Counter: 4 Current Total: 30Current Counter: 5 Current Total: 55Current Counter: 6 Current Total: 91Current Counter: 7 Current Total: 140Current Counter: 8 Current Total: 204Current Counter: 9 Current Total: 285Counter: 9 Total: 285 PL/SQL procedure successfully completed
先用11g的continue语句改写下,添加一个条件
SQL> SQL> DECLARE 2 total NUMBER(9) := 0; 3 counter NUMBER(6) := 0; 4 BEGIN 5 LOOP 6 counter := counter + 1; 7 total := total + counter * counter; 8 IF total<31 THEN 9 CONTINUE; 10 ELSE 11 DBMS_OUTPUT.PUT_LINE('Current Counter: ' || TO_CHAR(counter) || ' Current Total: ' || TO_CHAR(total)); 12 END IF; 13 -- exit loop when condition is true 14 EXIT WHEN total > 250; 15 END LOOP; 16 DBMS_OUTPUT.PUT_LINE('Counter: ' || TO_CHAR(counter) || ' Total: ' || TO_CHAR(total)); 17 END; 18 / Current Counter: 5 Current Total: 55Current Counter: 6 Current Total: 91Current Counter: 7 Current Total: 140Current Counter: 8 Current Total: 204Current Counter: 9 Current Total: 285Counter: 9 Total: 285 PL/SQL procedure successfully completed
改写最先让人想到的就是goto了
SQL> SQL> DECLARE 2 total NUMBER(9) := 0; 3 counter NUMBER(6) := 0; 4 BEGIN 5 LOOP 6 <<out_loop>> 7 counter := counter + 1; 8 total := total + counter * counter; 9 IF total<31 THEN 10 GOTO out_loop; 11 ELSE 12 DBMS_OUTPUT.PUT_LINE('Current Counter: ' || TO_CHAR(counter) || ' Current Total: ' || TO_CHAR(total)); 13 END IF; 14 -- exit loop when condition is true 15 EXIT WHEN total > 250; 16 END LOOP; 17 DBMS_OUTPUT.PUT_LINE('Counter: ' || TO_CHAR(counter) || ' Total: ' || TO_CHAR(total)); 18 END; 19 / Current Counter: 5 Current Total: 55Current Counter: 6 Current Total: 91Current Counter: 7 Current Total: 140Current Counter: 8 Current Total: 204Current Counter: 9 Current Total: 285Counter: 9 Total: 285 PL/SQL procedure successfully completed用 exit 也可以,外面套一层循环,if条件
SQL> DECLARE 2 total NUMBER(9) := 0; 3 counter NUMBER(6) := 0; 4 BEGIN 5 LOOP 6 7 counter := counter + 1; 8 total := total + counter * counter; 9 LOOP 10 IF total<31 THEN 11 EXIT; 12 ELSE 13 DBMS_OUTPUT.PUT_LINE('Current Counter: ' || TO_CHAR(counter) || ' Current Total: ' || TO_CHAR(total)); 14 EXIT; 15 END IF; 16 END LOOP; 17 -- exit loop when condition is true 18 EXIT WHEN total > 250; 19 END LOOP; 20 DBMS_OUTPUT.PUT_LINE('Counter: ' || TO_CHAR(counter) || ' Total: ' || TO_CHAR(total)); 21 END; 22 / Current Counter: 5 Current Total: 55Current Counter: 6 Current Total: 91Current Counter: 7 Current Total: 140Current Counter: 8 Current Total: 204Current Counter: 9 Current Total: 285Counter: 9 Total: 285 PL/SQL procedure successfully completed
0 0
- PLSQL:用exit代替continue
- continue exit 的作用
- Break Continue Exit
- Oracle/PLSQL: Exit Statement
- PLSQL:Exit Statement
- Jquery的each里面用return false代替break; return ture 代替continue
- Jquery的each里面用return false代替break; return ture 代替continue
- Jquery的each里面用return false代替break; return ture 代替continue
- PHP 用什么代替 echo exit 的调试方法
- break , continue , exit 的区别
- Jquery的each里用return true或false代替break或continue
- 037.Goto 代替 Continue 结束本次循环
- 037.Goto 代替 Continue 结束本次循环
- Delphi中Exit, Abort, Break, Continue
- Abort 、Exit、Break、Continue之区别
- break和continue, exit和return
- C语言中的return,exit,break,continue
- C语言中的return,exit,break,continue
- poj 2482 Stars in Your Window(扫描线)
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第9章节--客户端对象模型和REST APIs概览 JavaScript
- C++设计模式之简单工厂模式
- Linux定时器Crontab用法
- 以Windows服务方式启动MySQL,并将其默认编码设置为UTF-8
- PLSQL:用exit代替continue
- 套接口学习(一)实现
- 第七周上机项目1 串联电阻的阻值
- 【单件模式】的优点
- hdu2099整除尾数
- 小白学c++之 robustIO
- Xutils源码文件下载方法的调用流程
- void及void指针含义的深刻解析
- HDU——5062 Beautiful Palindrome Number