Hola nuevamente Alberto, como dice los textos y ejemplos del link que te envié (http://www.postgresql.org/docs/9.5/interactive/plpgsql-cursors.html), puedes usarlos para: 1- Retornar desde una función que devuelve muchos registros, 2-Puede ser útil también para devolver más de un cursor, es decir puedes retornar dos o más resultados y usarlos desde tu APP, este es el ejemplo que viene en la doc del link que te envié:
CREATE FUNCTION myfunc(refcursor, refcursor) RETURNS SETOF refcursor AS $$ BEGIN OPEN $1 FOR SELECT * FROM table_1; RETURN NEXT $1; OPEN $2 FOR SELECT * FROM table_2; RETURN NEXT $2; END; $$ LANGUAGE plpgsql; -- need to be in a transaction to use cursors. BEGIN; SELECT * FROM myfunc('a', 'b'); FETCH ALL FROM a; FETCH ALL FROM b; COMMIT; 3- También puede usarlo para paginar tus resultados desde PostgreSQL, y escribes los códigos desde tu APP ejemplo: BEGIN;-- defines tu cursorDECLARE micursor CURSOR FOR SELECT * FROM mitabla;-- obtienes 20 tuplas FETCH 20 FROM micursor ; -- ...trabajas con elllas -- obtienes 20 tuplas mas FETCH 20 FROM micursor; -- ...trabajas con ellas -- haces lo que vayas hacer COMMIT; Al menos estos tres son los conozco y de una forma u otra los he implementado, puede que hayan varios más, y otros usuarios de aquí los puedan compartir saludos El 28 de abril de 2016, 11:05, Alberto Cuevas <betocuevas....@gmail.com> escribió: > Anthony gracias por la respuesta. > > Me serviria de mucho algún ejemplo en el cual debo usar un cursor, si no > es molestia estimados. > > Saludos. > > El mié., 27 abr. 2016 a las 12:49, Anthony Sotolongo (< > asotolo...@gmail.com>) escribió: > >> Hola Alberto, creo que el primer párrafo del siguiente link de la >> documentación indica el momento para usar cursores: >> http://www.postgresql.org/docs/9.5/interactive/plpgsql-cursors.html >> >> saludos >> >> On 27/04/16 14:21, Alberto Cuevas wrote: >> > Hola a todos, siempre he leido que se debe evitar usar cursores, que >> > es una mala practica y pues nunca los he usado en ningun motor de BD >> > en los que he trabajado (SQL Server, Oracle, PostgreSQL) >> > >> > Actualmente trabajo con Oracle y PostgreSQL, he encontrado mucha >> > similitud y ambas me gustan. >> > >> > Mi pregunta es en que momento usar un cursor. >> > >> > Disculpen si la pregunta es muy basica. >> > >> > Saludos. >> >> >> - >> Enviado a la lista de correo pgsql-es-ayuda ( >> pgsql-es-ayuda@postgresql.org) >> Para cambiar tu suscripción: >> http://www.postgresql.org/mailpref/pgsql-es-ayuda >> >