[Pgsql-ayuda] ayuda con SETOF

Alvaro Herrera alvherre@dcc.uchile.cl
Sat, 4 Jan 2003 01:22:03 -0300


On Thu, Jan 02, 2003 at 11:15:38AM -0500, alejandro fernandez wrote:
> hola lista...
> 
> Quisiera saber si se puede devolver un resultset en postgres ??, he
> visto que existe el tipo SETOF pero la verdad no entiendo mucho sobre
> esto ? es sabido que este componente permite devolver varios registros
> de una tabla, la pregunta es se pueden varias columnas ? o como es el
> uso, uno debe definir variables de este tipo ?

Ejemplos sobre SETOF en PL/pgSQL:

http://www.brasileiro.net:8080/postgres/cookbook/view-one-recipe.adp?recipe_id=11378

(notese el RETURN NEXT)
Hay una forma de usarlo sin el CREATE TYPE.  Mira el manual de
referencia.

En todo caso, me da la impresion de que para esta consulta no necesitas
un procedimiento almacenado; con una simple vista bastaria.  La defines
asi:

CREATE VIEW mi_linda_vista AS
  SELECT movimien.movidoin_dointido_tidosist, blah blah
  FROM movimien, tipodocu
WHERE movimien.movidoin_dointido_tidosist=tipodocu.tidosist
AND movimien.movidoin_dointido_tidotipo=tipodocu.tidotipo;

y luego lees de ella:

SELECT * FROM mi_linda_vista WHERE
 movimien.movifech Between @finicial And @ffinal
 AND movimien.movibode=@codb
 AND movimien.moviarti= @codAr
 ORDER BY movimien.movidoin_dointido_tidosist;

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
Y dijo Dios: "Que sea Satanás, para que la gente no me culpe de todo a mí."
"Y que hayan abogados, para que la gente no culpe de todo a Satanás"