Skip site navigation (1) Skip section navigation (2)

Re: Problema secuencia last_value

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 (view raw or flat)
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)

In response to

Responses

pgsql-es-ayuda by date

Next:From: Jose Antonio Garcia TorresDate: 2009-09-22 14:12:36
Subject: Re: Replica online
Previous:From: Ernesto LozanoDate: 2009-09-22 12:49:53
Subject: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Abierta la?==?ISO-8859-1?Q? inscripción a PGCon Brasil 2009

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group