El 7 de julio de 2010 10:00, Simeó Reig <si...@grupoincofisa.com> escribió:

>  ¿Es posible crear una función que retorne un recordset?
>
> ¿Select nombre_funcion(campo1, campo2); y retorne registros como si se
> tratase de una tabla?
>
> Un saludo
>


En el hilo anterior que creaste te mandaron un enlace a la wiki, seria bueno
darle una leída, acá te dejo un ejemplo muy simple de como hacer lo que
deseas.

CREATE OR REPLACE FUNCTION recordset(IN inicio int, IN fin int, OUT columna1
int, OUT columna2 int) RETURNS setof record AS
$BODY$
declare
begin
return query select
generate_series(inicio,fin),generate_series(inicio,fin)*400;
 return;
end;
$BODY$
  LANGUAGE 'plpgsql';

postg...@[local] test=# select * from recordset(1,5);
 columna1 | columna2
----------+----------
        1 |      400
        2 |      800
        3 |     1200
        4 |     1600
        5 |     2000
(5 filas)

Reply via email to