1. ----PL/SQL基本循环语句 LOOP
  2. DECLARE
  3. x number := 10;
  4. BEGIN
  5. LOOP
  6. dbms_output.put_line(x);
  7. x := x + 10;
  8. IF x > 50 THEN
  9. exit;
  10. END IF;
  11. END LOOP;
  12. -- after exit, control resumes here
  13. dbms_output.put_line('After Exit x is: ' || x);
  14. END;
  15.  
  16. -- 可以用 exit when 代替 exit
  17. DECLARE
  18. x number := 10;
  19. BEGIN
  20. LOOP
  21. exit WHEN x > 50;
  22. dbms_output.put_line(x);
  23. x := x + 10;
  24.  
  25. END LOOP;
  26. -- after exit, control resumes here
  27. dbms_output.put_line('After Exit x is: ' || x);
  28. END;
  29.  
  30. ---- while...loop
  31. DECLARE
  32. a number(2) := 10;
  33. BEGIN
  34. WHILE a < 20 LOOP
  35. dbms_output.put_line('value of a: ' || a);
  36. a := a + 2; --增量可以随意
  37. END LOOP;
  38. END;
  39.  
  40. ----for...loop 注意:增量只能是1
  41. DECLARE
  42. a number(2);
  43. BEGIN
  44. FOR a in 10 .. 20 LOOP
  45. dbms_output.put_line('value of a: ' || a);
  46. END LOOP;
  47. END;
  48. ---- 反转FOR LOOP语句
  49. DECLARE
  50. a number(2) ;
  51. BEGIN
  52. FOR a IN REVERSE 10 .. 20 LOOP
  53. dbms_output.put_line('value of a: ' || a);
  54. END LOOP;
  55. END;
  56.  
  57. -- 嵌套循环 求出2100之间的素数
  58. DECLARE
  59. i number(3);
  60. j number(3);
  61. BEGIN
  62. i := 2;
  63. LOOP
  64. j:= 2;
  65. LOOP
  66. exit WHEN ((mod(i, j) = 0) or (j = i));
  67. j := j +1;
  68. END LOOP;
  69. IF (j = i ) THEN
  70. dbms_output.put_line(i || ' is prime');
  71. END IF;
  72. i := i + 1;
  73. exit WHEN i = 50;
  74. END LOOP;
  75. END;
  76. -- 标记循环
  77. DECLARE
  78. i number(1);
  79. j number(1);
  80. BEGIN
  81. << outer_loop >>
  82. FOR i IN 1..3 LOOP
  83. << inner_loop >>
  84. FOR j IN 1..3 LOOP
  85. dbms_output.put_line('i is: '|| i || ' and j is: ' || j);
  86. END loop inner_loop;
  87. END loop outer_loop;
  88. END;
  89.  
  90. --循环控制语句:continue
  91. DECLARE
  92. a number(2) := 10;
  93. BEGIN
  94. -- while loop execution
  95. WHILE a < 20 LOOP
  96. dbms_output.put_line ('value of a: ' || a);
  97. a := a + 1;
  98. IF a = 15 THEN
  99. -- skip the loop using the CONTINUE statement
  100. a := a + 1;
  101. CONTINUE; -- 之后的代码跳过,回到条件开始重新迭代
  102. END IF;
  103. END LOOP;
  104. END;
  105. -- 循环控制语句:goto 不建议使用
  106. DECLARE
  107. a number(2) := 10;
  108. BEGIN
  109. <<loopstart>>
  110. -- while loop execution
  111. WHILE a < 20 LOOP
  112. dbms_output.put_line ('value of a: ' || a);
  113. a := a + 1;
  114. IF a = 15 THEN
  115. a := a + 1;
  116. GOTO loopstart;
  117. END IF;
  118. END LOOP;
  119. END;

PL/SQL 循环的更多相关文章

  1. PL/SQL 循环语句

    1.基本 LOOP 循环语句 语法: LOOP 语句序列; END LOOP; 其中,语句序列中需要一个EXIT语句或一个EXIT WHEN语句来中断循环. 实例: DECLARE x ) :; BE ...

  2. PL/SQL循环

    1.if循环做判断 SET SERVEROUTPUT ON accept num prompt 'qinshuu'; DECLARE pnum NUMBER :=& num ; BEGIN T ...

  3. Oracle语句块PL/SQL循环判断

    - --pl/sql Procedural Language /sql --被数据库编译保存,由用户调用 --程序块 /* 语法 Declare – 声明变量 --声明变量 Age int; //没有 ...

  4. 五、PL/SQL循环、游标、函数和过程

    --PL/SQL基础知识学习 --一.PL/SQL语句块,基础语法格式 DECLARE --变量声明列表 info varchar(25); --变量声明 stu_unm integer := 15; ...

  5. PL/SQL 循环结构

    (1)LOOP...EXIT...END语句示例: control_var:; LOOP then EXIT; END IF; control_var:; END LOOP; 上述,初始化contro ...

  6. pl/sql实现打印九九乘法表

    学习PL/SQL循环的时候写的,记录一下. declare v_number1 ); -- 外层循环变量 v_number2 ); -- 内层循环变量 begin .. -- 开始外层循环 loop ...

  7. Oracle PL/SQL中的循环处理(sql for循环)

    今天来说下Oracle中的循环迭代处理,因为从自己的博客统计中看到,不少网友都搜索了关键字"SQL FOR循环",所以打算在这里说下个人的理解. PL/SQL也和我们常用的编程语言 ...

  8. Oracle PL/SQL之LOOP循环控制语句

    在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LO ...

  9. Oracle笔记 八、PL/SQL跳转/判断/循环语句块

    --goto跳转语句 --在goto 后,跳转到相应的语句,然后执行该语句和后面所有语句 begin dbms_output.put_line('goto开始了'); goto c; --不被执行 d ...

随机推荐

  1. http://bbs.csdn.net/topics/340046630 dbgrid怎么获取当前记录值

    这根grid无关,当你选中一条记录时,数据集就定位到这条数据上了,你只需要读取数据集中的数据就行了   对我有用[0] 丢个板砖[0] 引用 | 举报| 管理 hongss hongss 本版等级: ...

  2. 剑指offer(2):字符串

    C语言中的字符串 C语言中字符串的存储方式和数组类似,都是连续定长的内存块.字符串数组以\0结尾,所以会比正常数组多一位,char str3[5] = "1234"; //此处赋值 ...

  3. 从新向你学习javase(第一天)

    1:阐述JDK和JRE之间区别 jdk(工具)>jre(运行环境)>jvm(虚拟机) 2: 能够使用常见的DOS命令 d:(进入D盘下),cd +路径(进入到当前路径),cd..(返回上一 ...

  4. 数模常用算法系列Matlab实现-----线性规划

    线性规划的 Matlab 标准形式 线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于号也可以是大于号.为了避免这种形式多样性带来的不便,Matlab 中规定线性 规划的标 ...

  5. debian下使用shell脚本时出现了 declare:not found 解决方法

    问题:出现declare:not found的提示 解决:原来,UBUNTU用的是dash(后来证明这个其实这个不是错误的原因:从#!/bin/bash到#!/bin/dash,依旧无法运行,在这写出 ...

  6. new Date() 对象及方法:

    在别人的代码中见了两回 new Date().toLocaleString(),查了才知道,toLocaleString()是 根据本地时间格式,把 Date 对象转换为字符串.于是好奇new Dat ...

  7. 解决django项目在ubuntu系统上无法安装mysqlclient

    首先我的项目是django2.0,python环境是3.5. 我们在本地开发完django项目了,在本地运行是成功的,然后我们把django项目放到服务器上,运行的时候就出错了. 如图: 我们都知道, ...

  8. python3.5+django2.0快速入门(二)

    昨天写了python3.5+django2.0快速入门(一)今天将讲解配置数据库,创建模型,还有admin的后台管理. 配置数据库 我们打开mysite/mysite/settings.py这个文件. ...

  9. 浅谈WebService开发(一)转

    一.什么是WebService: 简单通俗来说,就是企业之间.网站之间通过Internet来访问并使用在线服务,一些数据,由于安全性问题,不能提供数据库给其他单位使用,这时候可以使   用WebSer ...

  10. python基础-7.2文件内置属性__doc__ __file__ __package__ __cached__ __name__

    __doc__ #py文件开头的注释文字 __file__ #当前py文件的路径 __package__ #包含文件所在包,用 . 分隔,当前文件为None,导入的其他文件:指定文件所在包,用.分隔. ...