【PostgreSQL】SQL(SELECT文)の結果をループする方法
SQL(SELECT文)の結果をループする方法
select結果をループするサンプルを紹介します。
大雑把にいうと1.でSQLの結果を格納する変数をrecord型で宣言し、
2.でselect結果が変数に格納されるので、それを使って処理をします。
CREATE OR REPLACE FUNCTION loop_test1()
RETURNS boolean LANGUAGE 'plpgsql'
COST 100 VOLATILE
AS $BODY$
declare
--1.レコード型で変数宣言
school_rec record;
begin
--2.for文(select結果をschool_recに格納してループする)
FOR school_rec IN
--select文の最後の;は不要
select * from m_school
LOOP
--ここにループ中の処理を書く
--動作確認用:raise infoで変数の中身を表示する
raise info '%', school_rec.school_code;
END LOOP;
return true;
end;
$BODY$;
※サンプルですので、そのまま実行してもテーブルがためエラーになります。
あわせて読みたい
1行の結果を取得して扱う方法はこちら