Plsql-for-loop
提供:Dev Guides
PL/SQL-FOR LOOPステートメント
構文
以下は、* Forループ*での制御の流れです-
- 最初のステップが最初に実行され、一度だけ実行されます。 このステップにより、ループ制御変数を宣言および初期化できます。
- 次に、条件、つまり_initial_value .. final_value_が評価されます。 TRUEの場合、ループの本体が実行されます。 FALSEの場合、ループの本体は実行されず、制御のフローはforループの直後の次のステートメントにジャンプします。
- forループの本体が実行されると、カウンター変数の値が増減します。
- 条件が再び評価されます。 TRUEの場合、ループが実行され、プロセスが繰り返されます(ループの本体、ステップのインクリメント、および条件の再設定)。 条件がFALSEになると、FOR-LOOPは終了します。
PL/SQL forループのいくつかの特別な特性は次のとおりです-
- ループ変数またはカウンターの_initial_value_および_final_value_は、リテラル、変数、または式にすることができますが、数値に評価する必要があります。 そうでない場合、PL/SQLは事前定義の例外VALUE_ERRORを発生させます。
- _initial_value_は1である必要はありません。ただし、*ループカウンターの増分(または減分)は1 *でなければなりません。 *PL/SQLでは、実行時にループ範囲を動的に決定できます。
例
上記のコードがSQLプロンプトで実行されると、次の結果が生成されます-
FOR LOOPステートメントの逆
デフォルトでは、反復は初期値から最終値に進みます。通常は、下限から上限に向かって上向きに進みます。* REVERSE *キーワードを使用して、この順序を逆にすることができます。 そのような場合、反復は他の方法で進行します。 各反復の後、ループカウンターは減少します。
ただし、範囲の境界は昇順(降順ではなく)で記述する必要があります。 次のプログラムはこれを示しています-
上記のコードがSQLプロンプトで実行されると、次の結果が生成されます-