Oracleの中でforループを使う方法は何ですか?
オラクルでは、以下の2つの方法を使用してループ処理を行うことができます。
- FORループを使用する:FORループは、ループ変数の初期値、終了値、およびステップを指定してループの実行回数を制御するループ文です。構文は以下の通りです。
- 初期値から終了値までの範囲で、FORループ変数のために実行されるコードを繰り返し実行する。
- 例えば、次の例では、FORループを使用して1から10までの数字を出力しています。
- 変数iを宣言し、1から10までの値をループさせて、それぞれの値を出力する。
- ループ内では、任意のSQLステートメント、PL/SQLコード、またはストアドプロシージャの呼び出しが可能です。
- WHILEループを使用すると、条件が真の場合、ループは継続的に実行されます。構文は次の通りです。
- 条件が満たされている間、以下のコードを実行し続ける。
- 例えば、以下の例は、1から10までの数字をWHILEループを使ってプリントする方法を示しています。
- DECLARE
i NUMBER := 1;
BEGIN
WHILE i <= 10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
i := i + 1;
END LOOP;
END;DECLARE
i NUMBER := 1;
BEGIN
FOR i IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
END LOOP;
END; - ループ本体では、任意のSQLステートメント、PL/SQLコード、またはストアドプロシージャの呼び出しなどを実行できます。
FORループを使用する場合でもWHILEループを使用する場合でも、ループ内のコードは必ずループ変数が終了値に向かって変化するようにする必要があります。そうでないと、無限ループが発生する可能性があります。