From: | Alejandro Carrillo <fasterzip(at)yahoo(dot)es> |
---|---|
To: | "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Ayuda al obtener cursor de una funcion |
Date: | 2011-10-03 14:06:57 |
Message-ID: | 1317650817.75888.YahooMailNeo@web27408.mail.ukl.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Buenos días,
La presente es para solicitar una inquietud acerca de como obtener los resultados de un cursor de una funcion de este estilo.
-- DROP FUNCTION sigc_admidatounico.get_dato2(integer, character varying, date, numeric);
CREATE OR REPLACE FUNCTION sigc_admidatounico.get_dato2(p_iddato integer, p_nombredato character varying, p_fecha date, p_edad numeric)
RETURNS refcursor AS
$BODY$
DECLARE
ocursor refcursor;
-- Uso de esta función: SELECT public.get_clientes(p1, p2, ... , pn,'cur') ; fetch all in cur;
BEGIN
if p_iddato!= null then
OPEN oCursor FOR Select
iddato, nombredato, fecha, edad
from
public.dato
WHERE iddato = p_iddato;
else
OPEN oCursor FOR Select
iddato, nombredato, fecha, edad
from
public.dato
WHERE coalesce(iddato,'0') = coalesce(p_iddato,coalesce(iddato,'0'))
and coalesce(nombredato,'') like coalesce('%'||p_nombredato||'%','%%')
and coalesce(fecha,now()) = coalesce(p_fecha,coalesce(fecha,now()))
and coalesce(edad,'0') = coalesce(p_edad,coalesce(edad,'0'))
;
end if;
RETURN oCursor;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
Como se puede ver esta funcion retorna un refcursor. Ahora la pregunta es ¿como puedo visualizar los datos de ese refcursor retornado?
Gracias,
Alejandro
Posdata: no quiero hacerlo de esta forma SELECT public.get_clientes(p1, p2, ... , pn,'cur') ; fetch all in cur;
Donde cur es una variable de entrada del cursor, ya que quiero que el usuario solo ingrese los parametros que realmente corresponden a esta función y no meter un parámetro adicional.
From | Date | Subject | |
---|---|---|---|
Next Message | Alejandro Carrillo | 2011-10-03 14:11:18 | [OT] Algunas funciones útiles para desarrollo en postgresql |
Previous Message | Alejandro Carrillo | 2011-10-03 11:14:53 | Re: Refcursor + vb6 + oledb |