Re: PL/PgSQL - returning multiple columns ...
От | Marc G. Fournier |
---|---|
Тема | Re: PL/PgSQL - returning multiple columns ... |
Дата | |
Msg-id | 20050203124751.C62562@ganymede.hub.org обсуждение исходный текст |
Ответ на | Re: PL/PgSQL - returning multiple columns ... (George Weaver <gweaver@shaw.ca>) |
Ответы |
Re: PL/PgSQL - returning multiple columns ...
|
Список | pgsql-sql |
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" > <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 >> > > > ---- Marc G. Fournier Hub.Org Networking Services (http://www.hub.org) Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664
В списке pgsql-sql по дате отправления: