Re: returning setof varchar - Mailing list pgsql-general

From Jeff Davis
Subject Re: returning setof varchar
Date
Msg-id 1177088214.28383.8.camel@dogma.v10.wvs
Whole thread Raw
In response to returning setof varchar  ("Scott Schulthess" <scott@topozone.com>)
List pgsql-general
On Fri, 2007-04-20 at 12:00 -0400, Scott Schulthess wrote:
> create or replace function getquadalphabet(text) returns setof varchar
> as $$
>
> declare r varchar;
>
> begin
>
> for r in SELECT distinct(substring(drgtitle, 1, 1)) as text from
> stockdrgmeta where state ilike  '%' || $1 || '%'
>
> LOOP
>
> return next r;
>
> END LOOP;
>
> end;
>
> $$ language plpgsql;
>
>
>
> loop variable of loop over rows must be record or row variable at or
> near "LOOP" at character 218
>

What you need to do is make "r" a record type, and then return an
attribute of the record in the "return next".

So, something like this:
FOR r IN SELECT ... AS text ... LOOP
  RETURN NEXT r.text;
END LOOP;


Regards,
    Jeff Davis


pgsql-general by date:

Previous
From: "Scott Schulthess"
Date:
Subject: returning setof varchar
Next
From: Richard Huxton
Date:
Subject: Re: returning setof varchar