create or replace function mmm() returns setof record as ' declare rec record; begin FOR rec IN SELECT foo.fooid,foo.foosubid,foo.fooname ,people_data.dk_anrede,dk_name_firma FROM foo inner join people_data on foo.fooid = people_data.dk_id LOOP RETURN next rec; END LOOP; return NULL; end;'language 'plpgsql'; select * from mmm() a(a int4,b int4,c text,d varchar, e varchar) ;
不过二楼的说的没错,7.3前的版本不支持结果集的返回
'
declare
rec record;
begin FOR rec IN SELECT foo.fooid,foo.foosubid,foo.fooname ,people_data.dk_anrede,dk_name_firma FROM foo inner join people_data on foo.fooid = people_data.dk_id LOOP
RETURN next rec; END LOOP; return NULL;
end;'language 'plpgsql'; select * from mmm() a(a int4,b int4,c text,d varchar, e varchar) ;