PL/SQL嵌套循环

PL/SQL允许在另一个循环中使用一个循环。 以下部分显示了几个例子来说明这个概念。

PL/SQL中嵌套的基本LOOP语句的语法如下:

LOOP 
   Sequence of statements1 
   LOOP 
      Sequence of statements2 
   END LOOP; 
END LOOP;

PL/SQL中嵌套FOR LOOP语句的语法如下 –

FOR counter1 IN initial_value1 .. final_value1 LOOP 
   sequence_of_statements1 
   FOR counter2 IN initial_value2 .. final_value2 LOOP 
      sequence_of_statements2 
   END LOOP; 
END LOOP;

PL/SQL中嵌套的WHILE LOOP循环语句的语法如下:

WHILE condition1 LOOP 
   sequence_of_statements1 
   WHILE condition2 LOOP 
      sequence_of_statements2 
   END LOOP; 
END LOOP;

示例

以下程序使用嵌套的基本循环来求出2100之间的素数 –

SET SERVEROUTPUT ON SIZE 999999;
DECLARE 
   i number(3); 
   j number(3); 
BEGIN 
   i := 2; 
   LOOP 
      j:= 2; 
      LOOP 
         exit WHEN ((mod(i, j) = 0) or (j = i)); 
         j := j +1; 
      END LOOP; 
   IF (j = i ) THEN 
      dbms_output.put_line(i || ' is prime'); 
   END IF; 
   i := i + 1; 
   exit WHEN i = 50; 
   END LOOP; 
END; 
/

在SQLPlus中执行上面示例代码,得到以下结果 –

2 is prime
3 is prime
5 is prime
7 is prime
11 is prime
13 is prime
17 is prime
19 is prime
23 is prime
29 is prime
31 is prime
37 is prime
41 is prime
43 is prime
47 is prime

PL/SQL 过程已成功完成。

        原文作者:PL/SQL教程
        原文地址: https://www.yiibai.com/plsql/plsql_nested_loops.html
        本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
    点赞