Re: Obtener los primeros registros de una consulta.

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/

In response to

Responses

Browse pgsql-es-ayuda by date

  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