Re: returning setof in plpgsql

From: Gary Stainburn <gary(dot)stainburn(at)ringways(dot)co(dot)uk>
To: ddurst(at)larubber(dot)com, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: returning setof in plpgsql
Date: 2003-01-21 14:56:02
Message-ID: 200301211456.02748.gary.stainburn@ringways.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Tuesday 21 Jan 2003 10:40 am, David Durst wrote:
> I have a function that I want to return setof a table in plpgsql.
>
> Here is what I have:
>
> CREATE FUNCTION lookup_account(varchar(32)) RETURNS SETOF accounts AS '
> DECLARE
> aname ALIAS FOR $1;
> rec RECORD;
> BEGIN
> select into rec * from accounts where accountname = aname;
> return rec;
> END;'
> LANGUAGE 'plpgsql';
>
> This seems to hang when I attempt to select it using:
>
> select accountid(
> lookup_account('some account')),
> accountname(lookup_account('some account')),
> type(lookup_account('some account')),
> balance(lookup_account('some account'));
>
> Does anyone see a problem w/ my approach??

Hi David,

I've never done this but I seem to remember seeing something about this
recently.

Firstly, I think you need 7.3.1 to do this.

You then have to create a 'type' as being a set of your table. You then
define the function as returning that type.

Sorry I can't be more specific, but as I said, I've never done it.

Gary

>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)

--
Gary Stainburn

This email does not contain private or confidential material as it
may be snooped on by interested government parties for unknown
and undisclosed purposes - Regulation of Investigatory Powers Act, 2000

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2003-01-21 15:10:20 Re: [OT] Unsubscribe does not work
Previous Message Andreas Tille 2003-01-21 14:28:02 Re: [OT] Unsubscribe does not work