Re: Obtener los primeros registros de una consulta.

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: GABRIEL COLINA <colina_movil(at)yahoo(dot)com>
Cc: Sergio Vizcaino <SergioV(at)azud(dot)es>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Obtener los primeros registros de una consulta.
Date: 2007-02-08 14:51:08
Message-ID: 20070208145108.GG24069@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

GABRIEL COLINA escribió:
> 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

No en una funcion -- en una transaccion. Haz BEGIN y a continuacion el
DECLARE CURSOR. Todos los usos de ese cursor debes hacerlos dentro de
esa transaccion; a menos que declares el cursor WITH HOLD, en cuyo caso
el cursor persistira mas alla de la transaccion, y debes cerrarlo
manualmente en cuanto termines de usarlo.

Obviamente, como una funcion está dentro de una transacción, también se
puede hacer ahí.

> 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 ?

No entendi esta pregunta. ¿Tiene que ver con los cursores? ¿A qué le
quieres aplicar reglas?

> 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 ?

No, porque hacer dos SELECT significa hacer dos invocaciones al
ejecutor, en cambio si usas un cursor lo que haces es invocar el
ejecutor una vez, lo dejas "congelado" y continuas la ejecucion con cada
FETCH.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Raúl Mero Moreira 2007-02-08 15:17:12 Re: hola que tal pregunta sobre buscquedas
Previous Message Rodolfo Burlando Makthon 2007-02-08 14:39:20 tsearch2