Retornar varios registros desde una funcion en pl/pgsql

From: J(dot) Arturo Llanquihuén Martínez <arturo(at)llanquihuen(dot)cl>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Retornar varios registros desde una funcion en pl/pgsql
Date: 2005-02-17 19:31:57
Message-ID: 002301c51527$58984850$fa0000c0@MOVILMASTER
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola listeros
estoy iniciandome en lo que se refiere a funciones, logrando realizar
algunas basicas pero muy utiles para mis necesidades, ahora me tope con un
problema , necesito devolver varios o ningun registro desde una consulta, he
probado varias soluciones pero la verdad no me funcionan. Adjunto la funcion
que hice, para que me puedan dar su opinion y en que estoy fallando.

CREATE or replace FUNCTION itinerario.info_geocerca(geometry) RETURNS setof
public.calles AS '
DECLARE
geocerca alias for $1;
captura_comuna integer;
captura_datos setof public.calles;
BEGIN
select INTO captura_comuna id from public.comunas where
Intersects(the_geom,geocerca) ;
IF captura_comuna.region is null THEN
RAISE INFO ''Punto de Referencia fuera de Area.'';
RETURN ''0'';
ELSE
select INTO captura_datos * from calles where
comuna=captura_comuna.comuna;
RETURN captura_datos.nombre;
END IF;
END;
' LANGUAGE plpgsql;

si alguien me pudiera decir en que me equivoco, o si hay alguna otra manera
de devolver varios registros se lo agradeceria.
otra consulta que tengo es dentro de la funcion es como y de que manera es
mas optimo recorrer los registros de captura_datos
para seguir aplicando filtros.

agradecido de antemano.

saludos.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Belarmina Martínez 2005-02-17 20:31:35 UNSUSCRIBE
Previous Message jose ricardo 2005-02-17 19:31:20 tabla temporal