pl/sql programming 05 循环迭代处理
2013-12-03 11:36
302 查看
使用循环应考虑的因素
1. 循环什么时候结束2. 什么时候测试是否该结束循环
3. 采用这种循环的原因
1. 普通循环(简单循环)
使用场合, 不能确定循环执行多少次, 要求循环至少执行一次.另外, 退出循环时, 可以使用如下两种方式:
EXIT; // 直接退出
EXIT WHEN condition // 有条件退出
2. for 循环
使用场合,只有有限次数循环, 又不想过早的退出循环.使用循环规则:
不要声明循环索引, 例如下例中的 l_current_year, plsql会自动的用一个integer类型的局部变量作为循环索引》
在范围部分使用表达式(包括下边界和上边界)会在循环开始时被求值一次, 范围部分不会随着循环的反复执行被重复求值,如果在循环体内部改变了范围表达式使用的变量, 这种改变对范围边界没有任何作用
在循环体内部不要改变索引值或者范围边界值, 这是非常不好的编程习惯.
使用 reverse 关键字可以迫使循环从上边界到下边界递减式进行, 你必须确保范围是 (lowest number .. highest number) 这个顺序不能颠倒
如果你想处理非平滑增长的 for 循环, 例如步长是2, 那么你就要在循环体内判断, 而不是改变循环索引的值, 例如你可以判断偶数时执行, 这样, 就跟步长是 2 是一个效果.
3. while 循环
使用场合, 事先无法知道循环多少次, 想通过条件来终止循环, 循环体不是必须要执行.与普通循环的区别是, 普通循环至少要执行一次循环体.
4. 游标型 for 循环
基本用法是 for record in {cursor_name | (explicit select statement)}loop
executable statement(s)
end loop;
使用这种循环的原因, 类似 linux 中的 awk. 当要依次取出一个游标中的每一行记录并处理时, 也可能是分析每条记录的某个字段, 此时, 就使用游标for循环.
循环中可以使用标签 <<>>
可以使用标签来指定变量是在那层循环.
11g 以后可以使用 continue 语句
循环尽量做到 “one way in, one way out”
相关文章推荐
- Oracle PL/SQL 程序设计读书笔记 - 第5章 用循环进行迭代处理
- 《oracle pl/sql programming》 第四章 条件与顺序控制 第五章 迭代与循环
- Oracle PL/SQL中的循环处理(sql for循环)
- Oracle PL/SQL中的循环处理(sql for循环)
- Oracle PL/SQL中的循环处理(sql for循环)
- Oracle Database 10g PL/SQL Programming -名词所有格处理
- Oracle PL/SQL中的循环处理(sql for循环)
- PL/SQL编码规范: 注释、变量命名、书写格式、逻辑分支、 循环处理
- Oracle PL/SQL中的循环处理(sql for循环)
- Oracle PL/SQL开发基础(第二十九弹:异常处理简介)
- pl/sql中三种游标循环效率对比
- PL/SQL中的循环(很low,以后慢慢完善)
- Oracle PL/SQL之LOOP循环控制语句
- pl/sql 实例精解 05
- pl/sql 之三大循环的完全学习指南
- pl/sql 循环
- 05-windows下Orcale的连接(各种连接工具SQL Developer,PL/SQL Developer)
- oracle 11g PL/SQL Programming学习六
- Oracle PL/SQL之LOOP循环控制语句
- PL/SQL中LOOP循环控制语句