ここでは、PL/SQLのループを使用せずに1から10を出力する例を示しています。値10を任意の数値(たとえば100)に変更することにより、最大任意の数値を印刷できます。
ループを使用せずに1から10を出力するPL/SQLプログラム
以下のプログラムでは、ループの代わりにPL / SQLラベルを使用して、値をインクリメントして出力しています。 (label_main)という名前のラベルで、変数(i)の値をインクリメントし、その値が10より大きいかどうかを確認してから、(label_end)という名前のラベルに制御を渡します。それ以外の場合は、ラベル(label_main)に制御を渡します。 IF条件の値を10から目的の数値に変更して、その数値まで印刷できます。
SET SERVEROUTPUT ON;
DECLARE
i NUMBER;
BEGIN
i := 0;
<<label_main>>
i := i + 1;
IF i > 10
THEN
GOTO label_end;
END IF;
<<label_print>>
DBMS_OUTPUT.put_line (i);
GOTO label_main;
<<label_end>>
NULL;
END;
/ 出力
1 2 3 4 5 6 7 8 9 10 PL/SQL procedure successfully completed.