Re: cuando se incrementa un campo serial en insert

From: juan <juanramirez(at)cajazacate(dot)com(dot)sv>
To: Joac <jgarcil(at)hotmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: cuando se incrementa un campo serial en insert
Date: 2010-03-16 14:12:12
Message-ID: 4B9F91BC.4050103@cajazacate.com.sv
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Joac escribió:
> Al utilizar un trigger (disparador) antes de introducir un registro a la tabla (que tiene como clave primaria un campo serial) se hace una serie de comprobaciones de otra tabla, si la introducción de datos es correcta se inserta el registro a la tabla en caso contrario dá un error y no se inserta el nuevo registro. Pero al dar el error el autoincremento se actualiza como si se ubiese introducido un registro en la tabla. Lo que me gustaría saber es cuando se incrementa este campo para cuando dé un error el disparador no se incremente dicho campo. Aunque en la documentacion indica que cuando se utiliza RAISE EXCEPTION se aborta la transacción, es cierto no se inserta el registro en la tabla, pero si que se incrementa el campo serial. Dejo la función disparadora para mayor compresión.

Supongo que tienes en el campo serial el valor 'default' como el
siguiente valor de la secuencia.

Deberías de lograr lo que esperas si quitas ese valor default; y lo
asignas hasta que todo tu trigger valide el registro ingresado.

--
Cordialmente,
Juan Ramírez
El Salvador

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2010-03-16 15:06:42 Re: Sobre pg_advisory_locks
Previous Message Oswaldo Hernández 2010-03-16 12:46:06 Re: cuando se incrementa un campo serial en insert