ここでは、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.