Trigger, sequence y otras yerbas

From: Cristian Franceschini <ccfranceschini(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Trigger, sequence y otras yerbas
Date: 2005-04-20 23:32:37
Message-ID: 4266E695.8080208@mckaffish.com.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola a todos:
Tengo el siguiente problema: creé una tabla con un campo de tipo serial
(que es clave primaria) y un cmapo de tipo varchar(x). Finalmente creé
un trigger (EACH ROW, after insert or update) que chequea si el campo
varchar está vacío o es nulo, genera un RAISE exeption sino devuelve NEW .
El trigger funciona bien: hace lo que tiene que hacer. El problema se
sucita cuando intento insertar un registro correcto inmediatamente de
haber intentado ingresar un registro con el campo varchar vacío(es lo
que controla el trigger): Se pierden los nros de secuencia del campo
serial, saltea un valor. Si intentara ingresar un registroerróneo 2
veces , salteará 2 veces. Un ejemplo:
id descripción
1 blah1
---
3 blah2

Según tengo entendido, cada llamada next_id() de una secuencia actualiza
el valor de dicha secuencia, se inserte o no el registro. Lo que
sospecho es que hace la llamada a next_id() antes qeu se dispare el
desencadenante.
Podría alguien ayudarme?

Gracias

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message cristian 2005-04-20 23:32:47
Previous Message Grover Navia 2005-04-20 22:49:15 Problemas con el caracter "Ñ"