Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/01/2008, 11:05
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Re: Ayuda con Triggers, por favor.!!!!

Cita:
CREATE TRIGGER Actualizacion_Id BEFORE INSERT ON GENERO
FOR EACH ROW
BEGIN

DECLARE @CONT;
SET @Cont= (SELECT MAX(CODGENERO) FROM GENERO);
IF @CONT IS NULL THEN
SET @CONT=1;
ELSE
SET @Cod = @Cont + 1;
END IF;
SET NEW.CODGENERO=@COD;

END;

No has considerado la posibilidad de que la tabla esté vacía. Eso te devolvería NULL y todo NULL al que se suma un valor resulta igual a NULL.
Por otro lado NEW.campo es la referencia al nuevo registro que se está insertando. El trigger tal y como lo estás construyendo entraría en un loop infinito, porque al final estas haciendo un INSERT que vuelve a llamar al trigger y así sucesivamente.
Además, la variable @Cont no estaba definida.