Oracle基础 PL-SQL编程基础,3 循环结构

循环结构:

1、 LOOP循环结构

  语法:

  LOOP

    要执行的语句;

    EXIT WHEN <条件> --条件满足则退出循环

  END LOOP;

  示例:循环输出1-10的整数  

DECLARE
  v_num NUMBER := 1;
BEGIN
     LOOP
         DBMS_OUTPUT.put_line(v_num);
         v_num := v_num + 1;
         EXIT WHEN v_num > 10;
     END LOOP;     
END;

  LOOP结构的弊端:结构不够清晰,EXIT容易漏写。

2、WHILE循环结构

  语法:

  WHILE <布尔表达式> LOOP

    要执行的语句;

  END LOOP;

  示例:显示1-10的整数;  

DECLARE
  v_num NUMBER := 1;
BEGIN
     WHILE v_num <= 10 LOOP
         DBMS_OUTPUT.put_line(v_num);
         v_num := v_num + 1;
     END LOOP;     
END;

3、FOR循环

  语法:

  FOR 循环计数器 IN [REVERSE] 下线...上限 LOOP

    要执行的语句;

  END LOOP;

  示例:显示1-10的整数  

DECLARE
  v_num NUMBER;
BEGIN
  FOR v_num IN 1..10 LOOP
          DBMS_OUTPUT.PUT_LINE(V_NUM);
    END LOOP;
END;

在for循环中,每循环一次,循环变量自动+1,使用关键字reverse,循环变量自动-1,跟在in reverse后的数字必须从小到大,而且必须是整数,不能是变量或者表达式,可以使用EXIT退出循环。

上一个例子中如果添加reverse则是降序输出。

总结:

循环结构可以重复执行某些操作,在已知循环次数情况下优先采用for循环,未知次数情况下采用while循环。EXIT可以嵌套在任何循环中,直接终止循环。 LOOP一般不使用!