Re: How to Return Table From Function

Поиск
Список
Период
Сортировка
От Rob Sargentg
Тема Re: How to Return Table From Function
Дата
Msg-id 4F1C82DB.8090207@gmail.com
обсуждение исходный текст
Ответ на How to Return Table From Function  (Rehan Saleem <pk_rehan@yahoo.com>)
Список pgsql-sql
On 01/22/2012 06:09 AM, Rehan Saleem wrote:
hi , i have created this function

CREATE OR REPLACE FUNCTION totaloverlapcount(user_id integer , bg integer ,center_distance integer)
RETURNS varchar AS $$

DECLARE percentage record;
BEGIN



select fname, lname, count(userid) totalcount ,100.00*count(useriddetails)/totaluser into percentage
from users
where userid= user_id and bloodgroup>=bg and
(centredistance<=center_distance or center_distance=1)
group by fname, lname, user_id;
return percentage;


its just a dummy function , but all i want to know that how can i return fname , lname totalcount and percentage from this function in the form of table , not the return type varchar.
thanks

-Sorry cannot get to a server at the moment to check this sql, but if you want to address the field of the result table you need to create the type for the returned table.

create type reportTypeName(fname text, lname text, totalcount integer);
CREATE OR REPLACE FUNCTION totaloverlapcount(user_id integer , bg integer ,center_distance integer)
RETURNS setof reportTypeName AS $$


Then you can do
 select lname, totalcount as tally from totaloverlapcount( id, bg, cdist);


В списке pgsql-sql по дате отправления:

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: How to Return Table From Function
Следующее
От: Francisco Calderón
Дата:
Сообщение: Problem with sequence increment