【PostgreSQL】SQL(SELECT文)の結果をループする方法

PostgreSQL構文

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$;

※サンプルですので、そのまま実行してもテーブルがためエラーになります。