-
Cómo insertar múltiples disparadores en MySQL
-
Los factores desencadenantes son una de las nuevas características de MySQL, el sistema de gestión de base de datos relacional. Los disparadores se relacionan con ciertas tablas y son activados por un evento en particular. Puede utilizar disparadores para comprobar si una inserción se realiza o si se realiza una actualización. Un disparador se define para activarse cuando un "Insertar", "BORRAR" o "UPDATE" se ejecuta para las tablas relacionadas. Un disparador se puede configurar para activar antes o después de las instrucciones de activación.
Instrucciones
1 Ingrese a su phpMyAdmin como usuario root. Introduzca su contraseña. Haga clic en la base de datos existente en el panel derecho de la ventana de phpMyAdmin. Crear una nueva tabla introduciendo el nombre de "empleado" en el cuadro de texto y especificar el número de campos. Haga clic en "Go". Crear otros dos tablas: "departamento" y "new_employee."
2 Crear campos de tabla "empleado", tales como "Identificación", "nombre" y "departamento", en la siguiente pantalla. Haga clic en las opciones del menú desplegable en la columna "Tipo" y seleccione "INT" como tipo de datos de identificación, y "Char" como tipos de datos de los otros dos campos.
3 Crear campos para "new_employee" y "departamento" de manera similar. Crear los mismos campos para "new_employee" como en la tabla "empleado". Cree dos campos para "departamento", a saber, "DEPT_NAME" como tipo "CHAR" y "employee_number" como tipo de datos "INT".
4 Haga clic en la ficha "Insertar" para insertar datos en la tabla de "empleado". Anote "1", "Joe" y "Ventas" en el cuadro de texto correspondiente en la columna "Valor". Haga clic en "Go".
5 Haga clic en la pestaña "Consulta" e introduzca el código siguiente para crear disparadores:
CREATE TRIGGER NEW_HIRED
DESPUÉS DE INSERTAR EN EMPLEADOS
POR CADA FILA
EMPEZAR
INSERT INTO new_employee (id, nombre, departamento)
VALORES (new.id, new.name, new.department)
FIN
CREATE TRIGGER NUMBER_OF_EMPLOYEE
DESPUÉS DE INSERTAR EN EMPLEADOS
POR CADA FILA
dept ACTUALIZACIÓN
SET employee_number = 1 + employee_number
DONDE employee.department = depart_name
Los dos factores desencadenantes harán las siguientes funciones: Nuevos registros se insertan en la tabla "new_employee" y al insertar nuevos registros en la tabla de empleados. El número de empleados en el departamento correspondiente se actualiza cuando se añade un nuevo empleado.