Gracias a todo por su colaboracion, en efecto estaba envocando mal la consulta
El 29 de septiembre de 2011 14:26, Lazaro Rubén García Martinez < [email protected]> escribió: > Intenta de la forma que dice Alvaro:**** > > ** ** > > Select * from función();**** > > ** ** > > Saludos.**** > > ** ** > > *De:* oscar arocha [mailto:[email protected]] > *Enviado el:* jueves, 29 de septiembre de 2011 02:40 > *Para:* Lazaro Rubén García Martinez > *CC:* [email protected] > *Asunto:* Re: [pgsql-es-ayuda] Retorno en función**** > > ** ** > > Gracias Lazaro, pero de la forma que lo planteas devuelve un solo valor, es > decir una sola coluumna, lo que necesito es lo siguiente > > funcion(){ > > SELECT calculo1 .... > SELECT calculo2.... > SELECT calculo3.... > > RETURN arreglo > }; > > > y que me regurese > > |COL1 | COL2 | COL3 | > -------------------------------------------- > |calculo1 | calculo3 | calculo3 | > > > no se si así se representa mejor**** > > El 29 de septiembre de 2011 11:57, Lazaro Rubén García Martinez < > [email protected]> escribió:**** > > Me parece que para lo que deseas hacer puedes crear un tipo de dato según > tu necesidad y devolver ese tipo, como este ejemplo:**** > > **** > > CREATE TYPE public.ct_ prueba AS (**** > > dato1 INTEGER,**** > > dato2 INTEGER**** > > );**** > > **** > > CREATE OR REPLACE FUNCTION public.fun_prueba (**** > > )**** > > RETURNS public.ct_prueba AS**** > > $body$**** > > DECLARE**** > > retorno ct_prueba;**** > > val1 integer;**** > > val2 integer;**** > > BEGIN**** > > **** > > --De esta via**** > > /***** > > SELECT 2+2 INTO val1;**** > > SELECT 3+3 INTO val2;**** > > retorno.dato1 = val1;**** > > retorno.dato2 = val2;**** > > */**** > > **** > > --De esta otra via**** > > SELECT 2+2, 3+2 INTO retorno; **** > > **** > > RETURN retorno;**** > > END;**** > > $body$**** > > LANGUAGE 'plpgsql'**** > > VOLATILE**** > > CALLED ON NULL INPUT**** > > SECURITY INVOKER**** > > COST 100;**** > > **** > > Saludos.**** > > *De:* [email protected] [mailto: > [email protected]] *En nombre de *oscar arocha > *Enviado el:* jueves, 29 de septiembre de 2011 12:15 > *Para:* [email protected] > *Asunto:* [pgsql-es-ayuda] Retorno en función**** > > **** > > Hola lista, espero estén muy bien, una vez mas recurriendo a su valiosa > ayuda, Les comento estoy realizando una función que debe retornar un arreglo > (pienso yo), lo cierto es que debo realizar varios select y devolverlos > todos juntos en una sola consulta, es decir > > SELECT dato INTO arreglo[0] ..... > SELECT dato INTO arreglo[1] ..... > SELECT dato INTO arreglo[2] ..... > SELECT dato INTO arreglo[3] ..... > SELECT dato INTO arreglo[4] ..... > RETURN arreglo > > cada uno de los select realiza un calculo distinto, pero mi intencion es > poder obtener todos esos valores en un solo arreglo, lo que se me ha > complicado es que el retorno que obtengo es > > arreglo[0]:{valor} > > y debería ser solo {valor} > > Gracias de antemano > > -- > Ing. Oscar Arocha > CIV 208.476 > 0416-4257379 > twitter: @ArochaOscar**** > > > > > -- > Ing. Oscar Arocha > CIV 208.476 > 0416-4257379 > twitter: @ArochaOscar**** > -- Ing. Oscar Arocha CIV 208.476 0416-4257379 twitter: @ArochaOscar
