/* 別解答(授業ではやっていない) out引数を使用することにより、型定義が不要 */ create or replace function f09_1a(text, integer, integer, out num integer, out data text) returns setof record as $$ begin for i in $2 .. $2 + $3 - 1 loop if i = 10000 then raise exception '範囲を越えました!'; end if; num := i; data := $1 || to_char(i, 'FM0000'); return next; end loop; return; end; $$ language plpgsql;