Tecnología

Inicio

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.