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

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

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2007-01-29 15:37:50
Subject: Re: Instal?==?iso-8859-1?Q?ación en Opensuse 10.2
Previous:From: Juan MartínezDate: 2007-01-29 15:25:02
Subject: Re: pregunta sobre codificacion

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