Re: ultimo valor de Secuencia luego de insert

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Eliana Gutierrez <egp1962(at)yahoo(dot)com(dot)au>
Cc: ayuda postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ultimo valor de Secuencia luego de insert
Date: 2007-01-29 15:34:59
Message-ID: 20070129153459.GF14134@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Eliana Gutierrez escribió:
> Hola lista, tengo un insert desde mi app cliente a postgres. La PK del registro es un nro de secuencia que yo se autoincrementa. Quiero conocer el nro de la secuencia asignada a mi insert.
> Estoy tratando de usar la funcion currval(regclass) pero me devuelve un nro que NO es el asignado con el insert que le mando desde el client. Curiosamente este es el ultimo que estaba antes de que yo le empezara a mandar insert desde el cliente
> Alguien sabe porque?

Porque lo estas haciendo incorrectamente. currval() te va a devolver el
ultimo valor que se asigno a la sesion que ejecuto el nextval(). Si lo
haces en otra sesion te puede devolver cualquier otra cosa, o incluso
lanzarte un error.

Por ej. si estas en pgAdmin y ejecutas el insert en una "ventana de
consultas" el insert y luego haces el currval() en otra, los valores
pueden no coincidir. Idem si haces una cosa en psql y otra en pgAdmin,
etc etc.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2007-01-29 15:37:50 Re: Instalación en Opensuse 10.2
Previous Message Juan Martínez 2007-01-29 15:25:02 Re: pregunta sobre codificacion