Ver Mensaje Individual
  #15  
Antiguo 30-10-2008
Avatar de boreg
boreg boreg is offline
Miembro
 
Registrado: oct 2007
Ubicación: México, México
Posts: 76
Reputación: 17
boreg Va por buen camino
Saludos, en mi opinión la utilización de generadores es lo mejor para campos "autoincremento" por lo tanto la solución que aporta enecumene es la correcta(repito, en mi opinión), quizas solo para no ajustar "manualmente" el generador a cero con un trigger así se podría hacer:

Código SQL [-]
CREATE OR ALTER TRIGGER PRUEBA_AD0 FOR PRUEBA
ACTIVE AFTER DELETE POSITION 0
AS
declare variable FILAS INTEGER;
begin
  select count(*) from PRUEBA into :FILAS;
  if (filas = 0) then
    execute statement 'SET GENERATOR G_PRUEBA to 0';
end

si después de la eliminacion de registros la tabla esta vacía, el generador se queda con valor cero.
El problema para este metodo sería que se eliminen los registros y posteriormente se haga un rollback ya que aún así el generador estará con valor cero y la siguiente insercion de registros duplicará el campo eval_clave.

Saludos
Responder Con Cita