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

Responder a