PL/sql也和我们常用的编程语言一样,提供了While、For等循环,我们建几个例子来说明演示下。
首先是While循环:
--while循环 procedure loop_while ( start_value in number,end_value number ) is current_value number := start_value; begin
while current_value <=end_value loop dbms_output.put_line('now number:' || current_value); current_value:=current_value+1; end loop; end loop_while;
指定循环的初始值和结束值之后,就可以看到将这2个值之间的数字一行行打印出来了;当然只要while循环条件的求值结果是true,循环就会继续下去,
如果求值条件为false或者null,循环就会终止。这个循环条件每执行一次循环体之前都会先进行判断,因此while循环并不能保证循环体一定能被执行。
所以如果我们无法提前预知所需要巡检的次数的情况下,就可以使用While来进行循环处理。
For循环有2种,分别是数值型FOR循环和游标型FOR循环:
--数值型For循环
procedure loop_num_for
(
lowest is
begin
FOR even_number in lowest .. highest--升序
loop
--处理非平滑增长的索引
if mod(even_number,2)=0
then
dbms_output.put_line(|| even_number);
end if;
end loop;
end loop_num_for;