
PRACTICAS
Base de Datos II
Introduce un texto aquí...
Este trigger se activará antes de insertar un nuevo registro en la tabla Pacientes. Verificará que el género del paciente sea 'M' (Masculino) o 'F' (Femenino).
MariaDB [hospital]> DELIMITER //
MariaDB [hospital]> CREATE TRIGGER genero_paciente BEFORE INSERT ON Pacientes FOR EACH ROW
-> BEGIN
-> IF NEW.genero NOT IN ('M', 'F') THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'El g nero debe ser "M" o "F"';
-> END IF;
-> END //
Query OK, 0 rows affected (0.007 sec)
MariaDB [hospital]> DELIMITER ;
Eliminará automáticamente todos los registros relacionados en las tablas Ingresos y Asignaciones_Medicos
MariaDB [hospital]> DELIMITER //
MariaDB [hospital]> CREATE TRIGGER antes_insertar_paciente AFTER DELETE ON Pacientes FOR EACH ROW
-> BEGIN
-> DELETE FROM Ingresos WHERE FK_paciente = OLD.id_paciente;
-> DELETE FROM Asignaciones_Medicos WHERE FK_ingreso IN (SELECT id_ingreso FROM Ingresos WHERE FK_paciente = OLD.id_paciente);
-> END //
Query OK, 0 rows affected (0.029 sec)
MariaDB [hospital]> DELIMITER ;