Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

Next:From: Jaime CasanovaDate: 2010-06-10 04:42:56
Subject: Re: ayuda sobre SRF
Previous:From: Alvaro HerreraDate: 2010-06-10 04:18:06
Subject: Re: ayuda TRIGGER

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group