Gracias Anthony. El jue., 28 abr. 2016 a las 9:45, Anthony Sotolongo (<asotolo...@gmail.com>) escribió:
> 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 >>> >> >