From: | Jaime Casanova <jaime(at)2ndquadrant(dot)com> |
---|---|
To: | Ernesto Herrera <eherrera(at)estudiantes(dot)uci(dot)cu> |
Cc: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: ayuda sobre SRF |
Date: | 2010-06-10 04:42:56 |
Message-ID: | AANLkTilx8Sx2LUg0y1GxcFcu0zrFPNJeglQLamBkyVR5@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
2010/6/9 Ernesto Herrera <eherrera(at)estudiantes(dot)uci(dot)cu>:
> Hola!
> Tengo una función en PL/pgSQL que en su definición me construye una tabla
> temporal usando sql dinámico ya que sus atributos son variables y dependen
> de los parámetros de entrada, la función me retorna void y para ver los
> resultados tengo que ejecutar la función y luego seleccionar de la tabla
> temporal.
> No existe forma que una función me devuelva un conjunto sin tener que
> especificar los atributos al llamarla??
> saludos.
>
no creo que tenga mucho sentido tener una funcion que sea
completamente ignorante en cuanto al resultado que va a regresar, me
parece un mal diseño y una pesima idea!
una vez dicho eso... podrias devolver todas las columnas en texto
concatenado usando algun caracter de separacion (digamos '|') y luego
haces algo como:
select cols[1], cols[2]
from (select string_to_array(f1, '|') as cols from f1()) as foo;
donde f1() es la funcion que devuleve registros tipo text, que luego
son convertidos a un arreglo y solo te preocupas de usar los campos
indicando el indice... asumo que no pretendes que la aplicacion
tambien sea ignorante en cuanto a lo que espera de la funcion en un
momento dado verdad?
deficiencia, regresara todos los campos como texto
otra alternativa es al momento de llamar a la funcion indicar que
esperas que retorne:
select * from f1() as (col1 int, col2 text);
pero eso es lo que por algun motivo crees que no quieres
--
Jaime Casanova www.2ndQuadrant.com
Soporte y capacitación de PostgreSQL
From | Date | Subject | |
---|---|---|---|
Next Message | Guillermo Villanueva | 2010-06-10 11:17:37 | Re: ayuda TRIGGER |
Previous Message | Julio Cesar Rodriguez Dominguez | 2010-06-10 04:30:09 | Re: ayuda sobre SRF |