Gilberto pasa que lo que tengo que poner en la tabla de retorno viene de
cálculos y no de tablas obtenidas de un query

Guillermo Villanueva
<http://ar.linkedin.com/in/guillermovillanueva>


El 27 de febrero de 2013 17:08, Gilberto Castillo <
[email protected]> escribió:

>
>
> > Amigos no puedo encontrar ni en la doc oficial ni en google algo muy
> > simple, quiero declarar una función de tipo tabla que va a devolver 3 o 4
> > datos nada mas en una tabla de una sola columna, esos datos provienen de
> > unos cálculos
> > Intenté algo así:
> > CREATE OR REPLACE FUNCTION mifuncion(parametros) RETURNS table(columna
> > integer) AS
> > $BODY$
> > declare
> > li_retorno integer := -1;
> > li_retorno_ext integer := -1;
> > ...
> > ...
> >
> > begin
> > ...
> > ...
> > columna := li_retorno;
> > return next;
> > if li_retorno_ext <> -1 then
> > columna := li_retorno_ext;
> > return next;
> > end if;
> > end;
> > $BODY$
> > LANGUAGE plpgsql
> >
> > Cuando debería devolver dos filas, me devuelve uno solo, estoy seguro que
> > esa no es la forma de ir armando fila por fila. Cual sería la forma? Una
> > tabla temporal adentro de la función?
> > Desde ya muchas gracias
> >
>
> prueba utilizar return query en vez del return next
>
> Saludos,
> Gilberto Castillo
> La Habana, Cuba
>
> ---
> This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE
> running at host imx3.etecsa.cu
> Visit our web-site: <http://www.kaspersky.com>, <http://www.viruslist.com>
>
>

Responder a