Re: Problema con Cursor ??

From: Ivan Alejandro Flores Correa <ifloresenator(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Problema con Cursor ??
Date: 2006-12-18 12:21:22
Message-ID: 458687C2.5060308@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Alvaro Herrera escribió:
> Ivan Alejandro Flores Correa escribió:
>
>
>> Bueno en realidad ese es el problema que en el PL original este
>> Procedimiento me retorna tres cursores, y me los devuelve con el mensaje
>> "<unnamed portal NN>", pero lo que busco yo era que me retornnara el cursor
>> como lo hace el de Oracle, osea lo defino como cursor en el PL y en la
>> aplicación lo recupero como este y el lo reconoce , pero aca al aparecer
>> este paramerto no se como decirle en el PL que salga como cursor o Array de
>> datos.
>>
>
> Si das preguntas completas, te podemos dar respuestas precisas. De lo
> contrario solo podemos adivinar. Por eso simplifique tu funcion, dado
> que no habia necesidad de la complejidad adicional.
>
> En PL/pgSQL (y en Postgres en general) no hay ninguna forma de retornar
> mas de un conjunto de resultados en una funcion. Por eso es que si
> quieres retornar mas de un conjunto de resultados, lo que debes hacer es
> abrirlos en cursores y luego retornar los cursores para que la
> aplicacion haga FETCH.
>
> Es decir, tu SP deberia retornar tres refcursor (es decir, referencias a
> cursores abiertos), y luego la aplicacion debe hacer
>
> FETCH ALL FROM "cursor_1"
> FETCH ALL FROM "cursor_2"
> FETCH ALL FROM "cursor_3"
> (donde los nombres de los cursores son los que el SP te devolvio).
>
> Ojo, que eso debe hacerse dentro de una sola transaccion, porque los
> cursores se cerraran automaticamente al terminar la transaccion.
>
> No hay ninguna otra forma de hacerlo. Lo que puedes hacer es encapsular
> la forma de hacer eso en una especie de biblioteca, pero eso queda al
> lado de la aplicacion y no en el cliente.
>
>
Bueno Gracias...

Eso me temía que debía hacer........ O:-) , pero Consultaba para ver si
había otra, ....entonces... =-O ..Cambiaremos el Methodo de Invocación
al Cursor en mi aplicación, para que realice el Fetch de el Cursor.

:-P ....

--
Atte.-

dBBBb.
dBBBBBBb. +-----------------------------------+
B/ YY \BB | |
B 0||0 BB | |
B'~ ~ .BB | |
B`._.' \B. | Ivan A. Flores C. |
d/ `Bb. |Ingeniero en Gestion en Informatica|
.dP . \8b. | Analista y Programador |
dB:' " `::BBb. | Desarrollador J2EE |
dB" `YBBb | http://www.sixbell.com/ |
:BP ' :BBB | |
Ba. : _aBBB | msn : segato33(at)hotmail(dot)com |
._/"YBB_ : .| BBB| | email : ivan(dot)flores(at)sixbell(dot)com |
\ YB" `| B? `.+-----------------------------------+
/ \.______.| .'
\__..__)*b3r2c0`._'

La información contenida en esta transmisión es confidencial, amparada por secreto profesional y está dirigida exclusivamente a él o los destinatarios indicados. Cualquier uso, reproducción, divulgación o distribución por otras personas que su(s) destinatario(s) está estrictamente prohibida. Si ha recibido este correo por error, por favor, notifíquelo inmediatamente al remitente por e-mail ifloresenator(at)gmail(dot)com y bórrelo de su sistema.

Url : http://s8.bitefight.es/c.php?uid=100619

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Raul Andres Duque 2006-12-18 12:38:53 Re: Copiar a otra tabla pero con restriccciones
Previous Message Marcelo Retamal 2006-12-18 12:04:25 Fw: [pgsql-es-ayuda] Postgres en Mantención