Triggers
Cómo usar triggers
Programación de Bases de Datos (6.4.- Disparadores en MySQL)
Trigger para subir el salario:
CREATE TRIGGER subir_salario AFTER INSERT ON trabaja FOR EACH ROW BEGIN /*Declaración de variable local */ DECLARE totalHoras INT; /*Obtenemos la suma de horas del empleado en los proyectos donde trabaja */ SELECT SUM(nhoras) INTO totalHoras FROM trabaja WHERE cdemp = NEW.cdemp; /*Si supera las 100 horas trabajadas, incrementamos su salario */ IF totalHoras > 100 THEN UPDATE empleado SET salario = salario + 50 WHERE cdemp = NEW.cdemp; END IF; END
Ejecución:
Le asignamos 150 horas al empleado A14 en el proyecto MES
SELECT nombre, salario FROM empleado WHERE cdemp = 'A14'; INSERT INTO trabaja VALUES('A14', 'MES', 150); SELECT nombre, salario FROM empleado WHERE cdemp = 'A14';
Le asignamos 10 horas al empleado A03 en proyecto DAG
SELECT nombre, salario FROM empleado WHERE cdemp = 'A03'; INSERT INTO trabaja VALUES('A03', 'DAG', 10); SELECT nombre, salario FROM empleado WHERE cdemp = 'A03';
Triggers en MySQL
Cómo crear y utilizar Triggers en MySQL
Ejemplos de Triggers
MySQL Triggers
Más información:
Triggers en Oracle:
Libro (páginas 12-42): MySQL: Triggers, Funciones y Procedimientos
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.