From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Jaime Casanova <systemguards(at)gmail(dot)com> |
Cc: | Mario Gonzalez <gonzalemario(at)gmail(dot)com>, Luis Fernando Curiel Cabrera <lcuriel(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Ultimo Id |
Date: | 2005-11-22 20:21:16 |
Message-ID: | 20051122202116.GB16189@surnet.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Jaime Casanova escribió:
> On 11/22/05, Mario Gonzalez <gonzalemario(at)gmail(dot)com> wrote:
> > On 22/11/05, Luis Fernando Curiel Cabrera <lcuriel(at)gmail(dot)com> wrote:
> > > Pero funciona igual si el inser se ejecuta mientras esta en una transaccion?
> > >
> > El curval debe mostrar el ultimo valor de una secuencia. Ahora no
> > se si es necesario hacer un commit despues de un INSERT para notar
> > cambios en la secuencia. De todas formas esto lo saque de la
> > documentacion oficial
>
> No. La secuencia no se ve afectada por COMMIT ni por ROLLBACK
> Te va a regresar un valor valido siempre que primero hayas ejecutado
> nextval('seq') y no te hayas desconectado.
Ojo que si haces "SELECT .. FROM secuencia" (que era lo que habias
mencionado al principio) te puede devolver cualquier cosa, por lo tanto
tienes que usar currval().
(Otra observacion es que no te va a regresar _un_ valor valido, sino que
_EL_ valor valido, puesto que hay uno solo)
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | Mario Gonzalez | 2005-11-22 20:30:44 | Re: Ultimo Id |
Previous Message | Jaime Casanova | 2005-11-22 20:17:48 | Re: Ultimo Id |