oracle 循环语句

1.基本循环(至少会执行一次)

 DECLARE
   I INT :=1;
   BEGIN
       LOOP     --循环开始
          
       DBMS_OUTPUT.PUT_LINE('VALUE:'||I);
              
       EXIT WHEN I=10;      --退出循环条件;
       I:=I+1;               --循环监视变量
       END LOOP; --循环结束
   END;

2.WHILE循环(只有满足while添加才能执行)

 DECLARE
 I INT :=1;
 BEGIN
     WHILE I<=10 LOOP --LOOP 后面没有分号
     DBMS_OUTPUT.PUT_LINE('VALUE'||I);
     I:=I+1;
     END LOOP;
 END;
 

3.For循环

 BEGIN
      FOR I IN REVERSE 1..10 LOOP -- REVERE 的意思就是反转,从10-1开始循环滴呀;
       DBMS_OUTPUT.put_line('VALUE'|| I);
       END LOOP;
       --这个就不用监视循环变量滴呀
 END;

4.循环嵌套

嵌套循环是指在一个循环语句之中嵌入另一个循环语句,

而标号(label)则用于标记嵌套块或嵌套循环,通过在嵌套循环中使用标号,

可以区分内层循环和外层循环,并且可以在内层循环中直接退出外层循环,

在编写时可以用<<label_name>>定义标号

 DECLARE
 RESULT INT;
 BEGIN
    <<OUTER>>
    FOR I IN 1..10 LOOP
      <<INTER>>
    FOR J IN 1..10 LOOP
      RESULT :=I*J;
      DBMS_OUTPUT.PUT_LINE(RESULT);
      EXIT OUTER WHEN RESULT=10; --当结果等于10退出外层循环,也就退出了全部的循环
      EXIT WHEN RESULT=5;        --当结果等于5的时候退出循环结束
      END LOOP INTER;
       DBMS_OUTPUT.PUT_LINE('EXIT INTER');
      END LOOP OUTER;
       DBMS_OUTPUT.put_line('EXIT OUTER');
 
 END;
原文地址:https://www.cnblogs.com/mc67/p/5593117.html