pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: George Weaver <gweaver@shaw.ca>
To: Marc G. Fournier <scrappy@postgresql.org>
To: pgsql-sql@postgresql.org
Subject: Re: PL/PgSQL - returning multiple columns ...
Date: Wed, 02 Feb 2005 16:45:42 -0600
Message-ID: <00c701c50978$f01c9e20$6400a8c0@Dell4500> (raw)
References: <20050202170643.R27579@ganymede.hub.org>

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@postgresql.org>
To: <pgsql-sql@postgresql.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@hub.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
> 





view thread (4+ messages)  latest in thread

Message-ID: <00c701c50978$f01c9e20$6400a8c0@Dell4500>
Permalink:  ../00c701c50978$f01c9e20$6400a8c0@Dell4500/
Also on:    postgresql.org/message-id/00c701c50978$f01c9e20$6400a8c0@Dell4500

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: gweaver@shaw.ca, scrappy@postgresql.org
  Subject: Re: PL/PgSQL - returning multiple columns ...
  In-Reply-To: <00c701c50978$f01c9e20$6400a8c0@Dell4500>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox