returns setof rec... simple exampe doesn't work

From: "Gauthier, Dave" <dave(dot)gauthier(at)intel(dot)com>
To: <pgsql-general(at)postgresql(dot)org>
Subject: returns setof rec... simple exampe doesn't work
Date: 2007-07-09 20:06:38
Message-ID: D7FF158337303A419CF4A183F48302D602D116E4@hdsmsx411.amr.corp.intel.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I've googled this one and tried everything (except the correct solution
of course) until tears are starting to flow. Please help. Complete
example below. 7.4.13 on suse-64 x86

create table mytable (mystring varchar, myreal real);

insert into mytable (mystring,myreal) values ('abc',1.23);

insert into mytable (mystring,myreal) values ('def',4.56);

create type myrec as (mystring varchar, myreal real);

create or replace function myfunc() returns setof myrec as '

declare

crec myrec;

begin

for crec in select * from mytable loop

return next crec;

end loop;

return;

end;

' language 'plpgsql';

stdb=# select myfunc();

ERROR: set-valued function called in context that cannot accept a set

CONTEXT: PL/pgSQL function "myfunc" line 6 at return next

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alexander Staubo 2007-07-09 20:07:40 Re: Performance Question - Table Row Size
Previous Message Michael Glaesemann 2007-07-09 19:58:44 Re: User-Defined Types