El día 21 de mayo de 2009 11:04, Luis A. Zevallos Cárdenas
<[email protected]> escribió:
> Hola a todos tengo un problema con una funcion alguien podria ayudarme:
>
> FUNCION
> ****************************************************************************************************************
> CREATE OR REPLACE FUNCTION sch_desarrollo.fn_size_tables()
> RETURNS record AS
> $BODY$DECLARE
> reg RECORD;
> BEGIN
>
> --Tamaño de los objetos en megabytes
> select into reg * from (SELECT relname, round(((relpages*8)::double
> precision/1024::double precision)::numeric,2) as MB
> FROM pg_class
> ORDER BY relpages DESC) as foo;
>
> return reg;
> END;$BODY$
> LANGUAGE 'plpgsql'
> ****************************************************************************************************************
> select * FROM sch_desarrollo.fn_size_tables() --- CONSULTA
>
> ERROR
> *****************************************************************************************************************
> ERROR: se requiere una lista de definición de columnas para funciones que
> retornan «record»
>
> ********** Error **********
>
> ERROR: se requiere una lista de definición de columnas para funciones que
> retornan «record»
> Estado SQL:42601
> *****************************************************************************************************************
>
> Gracias
>
Esa consulta esta tratando de retornar un SET OF no un record.
Inclusive podrías retornar directamente la consulta en vez de utilizar un into.
--
Emanuel Calvo Franco
Sumate al ARPUG !
( www.arpug.com.ar)
ArPUG / AOSUG Member
--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net