|
语法:
- FOR counter IN [REVERSE] start_range....end_range LOOP
- statements;
- END LOOP;
LOOP和WHILE循环的循环次数都是不确定的,FOR循环的循环次数是固定的,counter是一个隐式声明的变量,他的初始值是start_range,第二个值是start_range+1,直到end_range,如果start_range等于end _range,那么循环将执行一次。如果使用了REVERSE关键字,那么范围将是一个降序。
- X:=100;
- FOR v_counter in 1..10 loop
- x:=x+10;
- end loop
- y:=x;
如果要退出for循环可以使用EXIT语句。
注意:上述for循环由于每循环一次v_counter自动加1,这里说明v_counter是数字类型。其实for循环还可以用来循环遍历表或者结果集,如:
- declare
- v_name varchar2(44);
- begin
- for d in (select * from vincent_voice where smstype = 3) loop
- v_name:=d.name
- end loop;
- end;
这个d就是一条记录,每次循环取得该结果集中的下一条记录
参考资料:http://www.programbbs.com/doc/73.htm
|
|
|