Oracle PL/SQL - 繰り返しAdvertisementloop - 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・このカテゴリのトップページに戻る ・634labs UIコレクションギャラリー サイト検索Y!ログール |