Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/04/2016, 06:35
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
Respuesta: problemas con triggers

Ok.
Bueno, para cargar CUALQUIER rutina almacenada por consola, como stored procedures, stored functions, trigers o events, lo que debes hacer es cambiar momentaneamente el delimitador de sentencais de MySQL por otra cosa, a fin de que tome el conjunto de lineas como ua sola cosa.
Eso se hace simplemente con el comando DELIMITER>
Código MySQL:
Ver original
  1. DELIMITER $$
  2.  
  3. CREATE TRIGGER k2 BEFORE INSERT ON k
  4.     IF District IS NULL OR District= '' THEN
  5.         SET NEW.District='Unknown';
  6.     END IF;
  7. END$$
  8.  
  9. DELIMITER ;

En la primera linea se cambia el terminador ";" por "$$", algo que carece de significado en MySQL y solo es para que interprete que termino la sentencia y que ejecute todo.

Luego viene el codigo a cargar (dicho sea de paso, te olvidaste el END final para el BEGIN), cerrado por el "$$".

Finalmente restauras el terminador estandar de nuevo y listo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)