-- SQL の結果レコードに指定した文字列を挟んで連結して返す -- 引数1: 実行する SQL 文 -- 引数2: 挟み込む文字列 DROP FUNCTION join_str(TEXT, TEXT); CREATE FUNCTION join_str(TEXT, TEXT) RETURNS TEXT AS ' declare delimiter alias for $1; sql alias for $2; str text; rec record; is_first bool; begin is_first = true; str := ''''; FOR rec IN EXECUTE sql LOOP IF is_first THEN str := rec.serialnum; -- カラム名を指定 is_first := false; ELSE str := str || delimiter || rec.serialnum; -- カラム名を指定 END IF; END LOOP; return str; end; ' LANGUAGE 'plpgsql';