Hola,
Cita:
Posteado originalmente por AbcXxx
y tengo entendido que solo se va a ejecutar cuando realmente se este insertando en la tabla
|
cierto, pero si haces un rollback el registro no quederá insertado (cosa lógica), pero el generador no volverá a su antiguo valor, por tanto sí es posible que queden huecos en la secuencia. Recuerda que los generadores no están bajo el control transaccional.
Regla a no olvidar con generadores: un generador tocado (incrementado o disminuido su valor) no es posible deshacer el cambio con rollback.
Otra regla: Los generadores pueden garantizar valores enteros únicos, pero no necesariamente en secuencia (sin huecos).
En cierta forma son conceptos excluyentes, puedes crear un mecanismo que genere valores unicos, pero sin la garantía de secuencia (los generadores), y al contrario: puedes crear un mecanismo que garantice la secuencia, pero entonces no garantizarás la unicidad (este mecanismo no lo tiene implementado InterBase). Vamos, que los dos a la vez no es posible.
Saludos.