@634

Oracle PL/SQL - 繰り返し

Advertisement

loop - endloop

同じ処理を複数回繰り返したい場合、ループ構造を利用することができる。
loop
    -- 処理
end loop;

上記のまま利用すると無条件ループとなり、永久にループ処理を繰り返す。ループからの脱出には EXIT を使用する。
loop
    -- count が10以上になったらループ脱出
    exit when count >= 10;
    count := count + 1;
end loop; 	

for - in - loop - end loop

for カウンタ in 初期値..終了値 loop
    -- 処理
end loop;
カウンタ名、初期値、終了値を設定する。
一回ループするたびにカウンタが1ずつ加算され、終了値になるとループが終了する。
初期値 < 終了値

for count in 1..10 loop
    sum := sum + count;
end loop;

for - in reverse - loop - end loop

for カウンタ in reverse 初期値..終了値 loop
    -- 処理
end loop;
カウンタ名、初期値、終了値を設定する。
一回ループするたびにカウンタが1ずつ減算され、終了値になるとループが終了する。
初期値 > 終了値

for count in reverse 10..1 loop
    sum := sum + count;
end loop;

while - loop - end loop

while 条件 loop
    -- 処理
end loop;
指定した条件を満たしている間、ループを継続する。

while count <= 10 loop
    sum := sum + count;
    count := count + 1;
end loop;

for - in - loop - end loop

for レコード名 in カーソル loop
    --処理
end loop;
レコード名は "レコード名 カーソル%rowtype" が暗黙的に宣言されるため、プログラム内で宣言する必要がない。
declare
    cursor cur1 is
        select 項目 FROM DB名;
begin
    for レコード in cur1 loop
        sum := sum + レコード.項目;
    end loop;

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール