Re: PL/PgSQL - returning multiple columns ...

From: George Weaver <gweaver(at)shaw(dot)ca>
To: "Marc G(dot) Fournier" <scrappy(at)postgresql(dot)org>, pgsql-sql(at)postgresql(dot)org
Subject: Re: PL/PgSQL - returning multiple columns ...
Date: 2005-02-02 22:45:42
Message-ID: 00c701c50978$f01c9e20$6400a8c0@Dell4500
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi Marc,

One option is to create a simple data type and return the rowtype of the
datatype

eg CREATE TYPE tserverload AS ("server_name" text, "load_avg" int4);

CREATE FUNCTION getserverload()

RETURNS tserverload

AS

'DECLARE

r tserverload%rowtype;

etc.

You would then return r, comprised of r.server_name and r.load_avg.

George

----- Original Message -----
From: "Marc G. Fournier" <scrappy(at)postgresql(dot)org>
To: <pgsql-sql(at)postgresql(dot)org>
Sent: Wednesday, February 02, 2005 3:10 PM
Subject: [SQL] PL/PgSQL - returning multiple columns ...

>
> I have a function that I want to return 'server_name, avg(load_avg)' ...
> if I wanted to return matching rows in a table, I can do a 'setof
> <table>', with a for loop inside ... but what do I set the 'RETURNS' to if
> I want to return the results of query that returns only two fields of a
> table, or, in the case of the above, one column and oen 'group by' column?
>
> thanks ...
>
>
> ----
> Marc G. Fournier Hub.Org Networking Services
> (http://www.hub.org)
> Email: scrappy(at)hub(dot)org Yahoo!: yscrappy ICQ:
> 7615664
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
> joining column's datatypes do not match
>

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Luiz Rafael Culik Guimaraes 2005-02-03 01:33:03 problem with postgres
Previous Message Tom Lane 2005-02-02 21:24:39 Re: pg_restore problem