----PL/SQL基本循环语句  LOOP
DECLARE
x number := 10;
BEGIN
LOOP
dbms_output.put_line(x);
x := x + 10;
IF x > 50 THEN
exit;
END IF;
END LOOP;
-- after exit, control resumes here
dbms_output.put_line('After Exit x is: ' || x);
END; -- 可以用 exit when 代替 exit
DECLARE
x number := 10;
BEGIN
LOOP
exit WHEN x > 50;
dbms_output.put_line(x);
x := x + 10; END LOOP;
-- after exit, control resumes here
dbms_output.put_line('After Exit x is: ' || x);
END; ---- while...loop
DECLARE
a number(2) := 10;
BEGIN
WHILE a < 20 LOOP
dbms_output.put_line('value of a: ' || a);
a := a + 2; --增量可以随意
END LOOP;
END; ----for...loop 注意:增量只能是1
DECLARE
a number(2);
BEGIN
FOR a in 10 .. 20 LOOP
dbms_output.put_line('value of a: ' || a);
END LOOP;
END;
---- 反转FOR LOOP语句
DECLARE
a number(2) ;
BEGIN
FOR a IN REVERSE 10 .. 20 LOOP
dbms_output.put_line('value of a: ' || a);
END LOOP;
END; -- 嵌套循环 求出2到100之间的素数
DECLARE
i number(3);
j number(3);
BEGIN
i := 2;
LOOP
j:= 2;
LOOP
exit WHEN ((mod(i, j) = 0) or (j = i));
j := j +1;
END LOOP;
IF (j = i ) THEN
dbms_output.put_line(i || ' is prime');
END IF;
i := i + 1;
exit WHEN i = 50;
END LOOP;
END;
-- 标记循环
DECLARE
i number(1);
j number(1);
BEGIN
<< outer_loop >>
FOR i IN 1..3 LOOP
<< inner_loop >>
FOR j IN 1..3 LOOP
dbms_output.put_line('i is: '|| i || ' and j is: ' || j);
END loop inner_loop;
END loop outer_loop;
END; --循环控制语句:continue
DECLARE
a number(2) := 10;
BEGIN
-- while loop execution
WHILE a < 20 LOOP
dbms_output.put_line ('value of a: ' || a);
a := a + 1;
IF a = 15 THEN
-- skip the loop using the CONTINUE statement
a := a + 1;
CONTINUE; -- 之后的代码跳过,回到条件开始重新迭代
END IF;
END LOOP;
END;
-- 循环控制语句:goto 不建议使用
DECLARE
a number(2) := 10;
BEGIN
<<loopstart>>
-- while loop execution
WHILE a < 20 LOOP
dbms_output.put_line ('value of a: ' || a);
a := a + 1;
IF a = 15 THEN
a := a + 1;
GOTO loopstart;
END IF;
END LOOP;
END;

最新文章

  1. HTML5的 2D SVG和SVG DOM的学习笔记(2)---SVG动画
  2. 项目使用中Linq使用总结
  3. mysql explain输出中type的取值说明
  4. 编程实现linux下的shell
  5. AspNetPager 自定义html
  6. USB Type-C 连接器规范推出之后,市场很多低质量线材容易损坏设备
  7. js 打印网页指定内容
  8. 判断一个key 是否在map中存在
  9. Android过滤Logcat输出
  10. MDK的优化应用(转)
  11. tools_list
  12. iOS 消息发送与转发详解
  13. 从零开始学 Web 之 移动Web(二)JD移动端网页,移动触屏事件
  14. Getting started with Processing 第九章总结
  15. node(4)express 框架 EJS模板,cookie, session的学习
  16. P3320 [SDOI2015]寻宝游戏 解题报告
  17. [javaSE] 数据结构(栈)
  18. libevent文档学习(一)多线程接口和使用
  19. eureka-5- Eureka 的自我保护模式
  20. jquery源码解析:代码结构分析

热门文章

  1. 一个包含n个结点的四叉树,每一个节点都有4个指向孩子节点的指针,这4n个指针有(3*n+1)个空指针. 4*n-(n-1) = 3*n+1
  2. PHP超时提示Fatal error: Maximum execution time of 30,解决方案
  3. django中orm多表查询,减少数据库查询操作
  4. TCP通信 - 服务器开启多线程与read()导致服务器阻塞问题
  5. [19/05/19-星期日] CSS_css的声明和选择器
  6. Tunnel Warfare HDU 1540 区间合并+最大最小值
  7. adb logcat查看手机端日志
  8. vue 跳转页面返回时tab状态有误的解决办法
  9. VS中发布并调试IIS程序
  10. 7、前端知识点--关于Array.from详解