RE: Problema con Cursor ??

From: Henry <hensa22(at)yahoo(dot)es>
To: Ivan Alejandro Flores Correa <ifloresenator(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: RE: Problema con Cursor ??
Date: 2006-12-18 05:57:20
Message-ID: 20061218055720.71611.qmail@web30804.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

debe de crear la funcion poniendo como parametro un cursor que luego sera devuelto por dicha funcion.

create or replace mostrar_datos(g refcursor)
returns refcursor
..
.
.
open g for select * from tabla;
return g;
end;

luego en plsql crea una transancion

begin;
select mostrar_datos('d')
fetch all in d;
commit;

hay algunos ejemplos en la ayuda de postgres. de ahi tuvo una idea de como trabaja con estos tipo de funciones.

Ivan Alejandro Flores Correa <ifloresenator(at)gmail(dot)com> escribió: Hola Lista

Bueno soy nuevo en ProstGreSQL y tengo un problema con un Procedimiento este procedimiento es :

CREATE OR REPLACE FUNCTION websystem.optionSystemAdmin(
i_user_id IN integer,
o_cursor_application OUT REFCURSOR,
o_codError OUT integer,
o_descError OUT varchar)
AS $$
DECLARE
vCodFunc integer := 400;
BEGIN
o_codError := 0;
o_descError := 'OK';

-- Verificamos que los Datos no Vengan null
IF i_user_id IS NULL THEN
o_codError := vCodFunc || 001;
o_descError := 'userId is NUll.';
RETURN;
END IF;

-- Seteamos las Applicaciones
OPEN o_cursor_application FOR
SELECT A.id
, A.nombre
, A.descripcion
FROM websystem.APPLICATION A
ORDER BY A.id;

RETURN;
END;
$$ LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION websystem.optionSystemAdmin(i_user_id integer) OWNER TO iflores;
COMMENT ON FUNCTION websystem.optionSystemAdmin(i_user_id integer) IS 'Funcion que retorna las Opciones de Admin';

Pero al rescatar el cursor desde una aplicación o desde la consola del postgresq no me despliega datos en el cursor, pero si ejecuto la query sola esta me trae datos.

He probado declarando el cursor en el encabezado (DECLARE) del procedimiento, pero este igual no retorna nada.

¿ Cual es el Problema?
¿ Que me falta?...

Ha consultado a la documentación pero tampoco no me ha funcionado..

Por una Respuest ,

Atte.-

--
Ivan A. Flores C.
Ingeniero en Gestión en Informática
Analista de Sistemas


---------------------------------

LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Agustin Casiva 2006-12-18 11:22:18 Re: Puerto 5432 via Internet
Previous Message pablo 2006-12-18 05:46:17 Copiar a otra tabla pero con restriccciones