Perfect, worked like a charm ... but the RETURNS still needs to be a SETOF, other then that, I'm 'away to the races' ... thanks :)



On Wed, 2 Feb 2005, George Weaver wrote:

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" <[EMAIL PROTECTED]>
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: [EMAIL PROTECTED] 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





---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: [EMAIL PROTECTED] Yahoo!: yscrappy ICQ: 7615664

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to