Re: ayuda sobre SRF

From: Julio Cesar Rodriguez Dominguez <jurasec(at)gmail(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:30:09
Message-ID: AANLkTimdi6gX4Ugty58ur_vUm-9JZF5LTcN_zaz_-Wzp@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 9 de junio de 2010 21:27, Ernesto Herrera
<eherrera(at)estudiantes(dot)uci(dot)cu>escribió:

> 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.

Puedes declara las parámetros de salida en la creación de tu función.

Por ejemplo:

CREATE OR REPLACE FUNCTION pagos_garantia(IN idcredito_ integer, OUT
o_monto numeric, OUT o_fecha date, OUT o_referencia text, OUT o_iddepgtia
integer, OUT o_cns integer)
RETURNS SETOF record AS
$BODY$
declare
begin
return query select ddgl.monto,fecha,referencia,ddgl.iddepgtia,cns from
cc_dep_gtias_liquidas dgl, cc_detalles_gtias_liquidas ddgl where
dgl.iddepgtia=ddgl.iddepgtia and idcredito=idcredito_;
return;
end;
$BODY$
LANGUAGE 'plpgsql;

select * from pagos_garantia( 2000 );

http://www.postgresql.org/docs/current/interactive/plpgsql-declarations.html

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2010-06-10 04:42:56 Re: ayuda sobre SRF
Previous Message Alvaro Herrera 2010-06-10 04:18:06 Re: ayuda TRIGGER