From: | GABRIEL COLINA <colina_movil(at)yahoo(dot)com> |
---|---|
To: | Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Sergio Vizcaino <SergioV(at)azud(dot)es> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Obtener los primeros registros de una consulta. |
Date: | 2007-02-08 14:36:41 |
Message-ID: | 545782.30887.qm@web34708.mail.mud.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Alvaro, no quiero cuestionarte si no aprender.
Tu opcion me parece interesante
1- Al usar un cursor de la forma que propones hay que hacerlo desde una
funcion no ?
Por que desde la consola me da este error.
DECLARE CURSOR may only be used in transaction blocks
2 - Si quiero operar un recordset desde una aplicacion a esto puedo aplicarle una regla para insert delete y update, como lo hago en una consulta ?
3 - Y ultimo punto
FETCH 50 FROM foo
muestras esos 50, y despues
FETCH ALL FROM foo
Hacer esto no es como llamar a dos consultas ?
Reitero no es mi intencion cuestionar si no aprender, puesto que cuando quize usar cursores para resolver algunos puntos me limite a la hora de manejarlo desde una api con grilla, sin embargo con funciones con el lenguaje sql, me fue muy bien.
Te agradezco tu respuesta, por que estoy muy seguro que vas a orientarme en algo que desconozco y de lo cual los manuales no me pudieron desaznar y siempre es bueno tener mas de una manera de hacer las cosas.
Un abrazo
Alvaro Herrera <alvherre(at)commandprompt(dot)com> escribió:
Sergio Vizcaino escribió:
> Muchas gracias a todos por vuestras respuestas, lo probare a ver que tal va.
Personalmente creo que usar LIMIT no es una idea tan buena, porque si
quieres mostrar los primeros 50 y despues los restantes 200, entonces
vas a tener que hacer dos consultas: una con LIMIT 50 (los primeros 50)
y otra con OFFSET 50 (todo el resto).
Una idea mucho mejor es usar un cursor. Haces un
DECLARE foo CURSOR FOR SELECT * FROM central.cabezales
y luego
FETCH 50 FROM foo
muestras esos 50, y despues
FETCH ALL FROM foo
y obtienes todo el resto.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
---------------------------(fin del mensaje)---------------------------
TIP 1: para suscribirte y desuscribirte, visita http://archives.postgresql.org/pgsql-es-ayuda
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Raúl Mero Moreira | 2007-02-08 14:37:30 | hola que tal pregunta sobre buscquedas |
Previous Message | Raúl Mero Moreira | 2007-02-08 14:34:31 | Re: hola que tal pregunta sobre buscquedas |