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.
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 |