Re: recuperar campo id

From: Jaime Casanova <systemguards(at)gmail(dot)com>
To: Ruben Guinez <rubenvive(at)gmail(dot)com>
Cc: cristian daza <hyperionmago(at)hotmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: recuperar campo id
Date: 2005-12-09 14:01:00
Message-ID: c2d9e70e0512090601t2429adao9661165409755847@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 12/9/05, Ruben Guinez <rubenvive(at)gmail(dot)com> wrote:
> Pero este currval(), retorna el valor actual de la secuencia. Si yo quiero
> saber el valor que me dio a mi para mostrar al usuario de vuelta, pero
> resulta que justo otro usuario realizó otra acción que implicó incremento de
> la variable?. Ahora, si lo recupero -este currval()- dentro de la misma
> transacción, aunque otro usuario haya hecho ingresos, como está fuera del
> ámbito de mi transacción me devolverá el valor correcto?, es decir el que
> realmente usé yo para generar mi folio?. Lo pregunto, porque veo que las
> secuencias no responden a rollback, por lo tanto podría pensar también que
> no respetan la visibilidad dentro de las transacciones, y que aunque yo no
> haya cerrado la transacción si otro usuario lo incrementó, me devolverá
> simplemente el valor final. Alguien me puede aclarar un poco el tema por
> favor.?
>
> Gracias.
>

currval trabaja a nivel de sesión (conexión)... a ti no te importa si
los demas ususarios hacen un nextval de la misma secuencia por segundo
si tu ejecutaste nextval currval te va a devolver el ultimo valor
generado por ti...

es mas, si ejecutas currval sin que *tu* hayas ejecutado previamente
nextval te va a dar un error porque no hay valor que tu hayas
asignado...

--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message cristian daza 2005-12-09 14:01:18 Re: recuperar campo id
Previous Message Nicolás Domínguez Florit 2005-12-09 13:58:58 Re: Select * from tabla --> a String...