Triggers en MySQL
Vamos a ver que són, cómo utilizarlos y las limitaciones que tienen los Triggers, disponibles a partir de MySQL 5.0.2.
Publicado el 26 de Octubre de 2013
Compartir
Disponibles a partir de MySQL 5.0.2 Los Triggers o disparadores permiten ejecutar sentencias en un momento determinado. Implica que parte de la lógica no está en el código y puede dificultar su localización (especialmente para personal nuevo en el proyecto, etc…) Recomendable su uso para cálculos o consistencia de datos (borrados en cascada p.e.). Sintaxis:
CREATE TRIGGER nombre_disp momento_disp evento_disp ON nombre_tabla FOR EACH ROW sentencia_disp
- nombre_disp: nombre del trigger
- momento_disp: before/after
- evento_disp: insert/update/delete
(No puede haber dos disparadores en una misma tabla que correspondan al mismo momento y sentencia)
- nombre_tabla
- sentencia_disp: Comando a ejecutar
Conviértete en un Backend Developer
Domina los lenguajes de programación más demandados. Accede a cursos, talleres y laboratorios para crear proyectos con Java, Python, PHP, Microsoft .NET y más
Comenzar gratis ahora
Ejemplo:
CREATE TABLE test1(a1 INT); CREATE TABLE test2(a2 INT); DELIMITER | //Se cambia el delimitador para poder incluir varias querys dentro CREATE TRIGGER testref AFTER INSERT ON test1 FOR EACH ROW BEGIN INSERT INTO test2 SET a2 = NEW.a1; //Query con delimitador standard dentro del trigger END |//Fin de la declaración del trigger DELIMITER ;
Notas:
- El alias OLD hace referencia a un registro ya existente antes de un update o delete.
- El alias NEW hace referencia a un registro nuevo después de un insert o update.
- La sentencia CREATE TRIGGER necesita el privilegio SUPER.
Limitaciones (dependiendo de la versión de MySQL):
- Un trigger no puede hacer referencia a una tabla por su nombre, excepto a través de OLD y NEW (sólo aplicable a comandos SELECT)
- Un trigger no puede hacer llamadas a stored procedures (no se puede usar la sentencia CALL)
- No pueden utilizarse transacciones en un trigger
Mejora las habilidades de tus desarrolladores
Acelera la formación tecnológica de tus equipos con OpenWebinars. Desarrolla tu estrategia de atracción, fidelización y crecimiento de tus profesionales con el menor esfuerzo.
Solicitar más información
Compartir este post