Re: Returning SETOF RECORD - Mailing list pgsql-novice

From Stephan Szabo
Subject Re: Returning SETOF RECORD
Date
Msg-id 20030825102931.S93434-100000@megazone.bigpanda.com
Whole thread Raw
In response to Returning SETOF RECORD  (Juan F Diaz <j-diaz@publicar.com>)
List pgsql-novice
On Mon, 25 Aug 2003, Juan F Diaz wrote:

> Hi, Im trying to return a setof record (plpgsql) but this error message
> appears and i dont know what to do.
> ERROR:  A column definition list is required for functions returning
> RECORD
>
> The function is the following (there may or may not be data in the
> table(s)) right now there is no data in the table (it should return
> null or something).
>
> DECLARE
>         Libro ALIAS FOR $1;
>         Refe ALIAS FOR $2;
>         res RECORD;
>     BEGIN
>         FOR res IN select color, alto, ancho from referencias where
> IdReferencia like Refe and IdLibro                like Libro LOOP
>             RETURN NEXT res;
>         END LOOP;
>         return;
>     END;
>
> And another question, is it possible to call a function that returns a
> setof anything like this:
> select foo();

From some of the languages you can do this, but not plpgsql.

> select * from foo(); ??

If the function returns a setof record, you need to give it the column
name/type information in the query, like:
select * from foo() as bar(color text, alto text, ancho text);



pgsql-novice by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: Way to tell what SQL is currently running?
Next
From: "Luis Hernandez"
Date:
Subject: doc on searching, and sorting