PL/SQL允許使用一個循環(huán)內(nèi)嵌套另一個循環(huán)。下面的內(nèi)容展示幾個例子來說明這個概念。
在PL/SQL嵌套基本LOOP語句的語法如下:
LOOP Sequence of statements1 LOOP Sequence of statements2 END LOOP; END LOOP;
在PL/SQL 循環(huán)FOR語句嵌套的語法如下:
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;
在Pascal嵌套WHILE 循環(huán)語句的語法如下:
WHILE condition1 LOOP sequence_of_statements1 WHILE condition2 LOOP sequence_of_statements2 END LOOP; END LOOP;
下面的程序使用一個基本嵌套循環(huán),找出2-100中的素數(shù):
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; /
當上述代碼在SQL提示符執(zhí)行時,它產(chǎn)生了以下結果:
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 procedure successfully completed.