El día 21 de mayo de 2009 11:04, Luis A. Zevallos Cárdenas <lzeval...@lobosistemas.com> 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