Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/05/2012, 06:48
davikt
 
Fecha de Ingreso: mayo-2012
Mensajes: 42
Antigüedad: 12 años
Puntos: 5
Respuesta: Trigger before insert

Hola planets,

Revisa la sintaxis de [URL="http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html"]Trigger[/URL] creo que andas un poco pez :)

Para lo que pides sería una cosa así:

Código SQL:
Ver original
  1. DROP TRIGGER IF EXISTS tr_bf_ins_exists;
  2. delimiter $$
  3. CREATE TRIGGER tr_bf_ins_exists BEFORE INSERT ON tbl FOR each ROW BEGIN
  4.     DECLARE msg VARCHAR(255);
  5.    
  6.     IF EXISTS (SELECT * FROM tbl WHERE nombre=NEW.nombre) THEN
  7.         SET msg= concat('TriggerERROR: "',NEW.nombre,'" . Ya existe.');
  8.         signal sqlstate '45000' SET message_text = msg;
  9.     END IF;
  10.    
  11. END$$
  12. delimiter ;

Lo que hace es comprobar si existe un registro con el mismo nombre,si existe salta un error.

¡Un saludo!

Última edición por davikt; 20/05/2012 a las 06:59