Oracle中PL/SQL之 while、for、loop 三种循环方式的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liang_wf/article/details/81092576

PL/SQL  while、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 条件,这种循环方式运用在循环游标比较多。

猜你喜欢

转载自blog.csdn.net/liang_wf/article/details/81092576