PL/SQLwhile、for、loop 三种循环方式的使用
1、WHILE ... LOOP ... END LOOP 语法:
WHILE 条件
LOOP
语句;
END LOOP;
例子:输出1到5的数字
declare
num number := 1;
begin
while num <= 5
loop
dbms_output.put_line(num);
num := num + 1;
end loop;
end;
总结:这种循环方式是先判断条件,条件成立才执行循环体,条件不成立则退出循环,在循环体内需要有改变变量值的语句,不然会成为死循环。
2、FOR ... IN 1 .. 3 LOOP ... END LOOP 语法:
FOR 变量 IN 1 .. 3
LOOP
语句;
END LOOP;
例子:输出1到5的数字
declare
num number := 1;
begin
for num in 1 .. 5
loop
dbms_output.put_line(num);
end loop;
end;
总结:这种循环方式是一开始就在for里面确定变量值的范围,这个范围内的值只能是自然数,执行完范围内的值就退出循环,这种循环方式运用在循环数组比较多。
3、LOOP ... EXIT WHEN ... END LOOP 语法:
LOOP
EXIT WHEN 条件;
语句;
END LOOP;
例子:输出1到5的数字
declare
num number := 1;
begin
loop
exit when num > 5;
dbms_output.put_line(num);
num := num + 1;
end loop;
end;
总结:这种循环方式是直接执行循环体,在循环体内必定要有判断退出循环的语句exit when 条件,这种循环方式运用在循环游标比较多。