Re: insert con serial

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Guillermo O(dot) Burastero <linux(dot)gb(at)gmail(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: insert con serial
Date: 2011-12-08 01:20:43
Message-ID: 1323307128-sup-512@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Excerpts from Guillermo O. Burastero's message of mié dic 07 21:42:58 -0300 2011:
> Hola
>
> El día 6 de diciembre de 2011 17:52, Gilberto Castillo Martínez
> <gilberto(dot)castillo(at)etecsa(dot)cu> escribió:
> >
> > El mar, 06-12-2011 a las 14:46 -0600, Marco Vinicio Jimenez Rojas
> > escribió:

> >> El insert sería:
> >> insert into Tabla(campo2, campo3) values(5,"01/01/2011")
> >>
> > Tan solo debes consulta el currenval de la secuencia que se genero.
>
> Esto está mal, el valor corriente de la secuencia puede haber cambiado
> por lo tanto diferir de aquel al que se insertó, sobre todo en un
> entorno de inserciones concurrentes.

No, Gilberto está en lo correcto; en cada sesión, currval() está
asegurado de retornar el valor que nextval() entregó en esa sesión la
última vez, y por lo tanto es el valor correcto insertado. Obviamente,
si llamas currval() en una sesión distinta, podría entregar un valor
diferente o incluso dar un error.

--
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alejandro Carrillo 2011-12-08 01:25:09 Re: Quiero unirme a la lista
Previous Message Guillermo O. Burastero 2011-12-08 00:42:58 Re: insert con serial