| From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
|---|---|
| To: | Gabriel Messner <gabmessner(at)gmail(dot)com> |
| Cc: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
| Subject: | Re: Problema secuencia last_value |
| Date: | 2009-09-22 13:28:44 |
| Message-ID: | 20090922132843.GA14437@alvh.no-ip.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-es-ayuda |
Gabriel Messner escribió:
> Hola de nuevo,
>
> ¿podrías explicarlo con un poco más de detalle, por favor?
Las secuencias no son tablas y no deben ser usadas como tales. El
servidor maneja cosas como cache y concurrencia internamente; las
funciones nextval() y currval() obtienen el valor correcto de la
secuencia, mientras que el last_value es una representación de bajo
nivel que no necesariamente corresponde con el valor que te toca.
En vez de hacer
select last_value from nombre_de_secuencia; -- MALO
debes hacer
select currval('nombre_de_secuencia'); -- CORRECTO
lo cual te garantiza el valor correcto incluso en situaciones en que hay
varios procesos simultáneamenete usando la secuencia.
--
Alvaro Herrera http://www.amazon.com/gp/registry/5ZYLFMCVHXC
"I personally became interested in Linux while I was dating an English major
who wouldn't know an operating system if it walked up and bit him."
(Val Henson)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jose Antonio Garcia Torres | 2009-09-22 14:12:36 | Re: Replica online |
| Previous Message | Ernesto Lozano | 2009-09-22 12:49:53 | Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Abierta la inscripción a PGCon Brasil 2009 |