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