salix/db/routines/vn/triggers/roadmapStop_beforeDelete.sql

22 lines
493 B
SQL

DELIMITER $$
CREATE OR REPLACE DEFINER=`vn`@`localhost` TRIGGER `vn`.`roadmapStop_beforeDelete`
BEFORE DELETE ON `roadmapStop`
FOR EACH ROW
BEGIN
DECLARE vMaxEta DATETIME;
IF OLD.roadmapFk IS NOT NULL THEN
SELECT MAX(eta) INTO vMaxEta
FROM roadmapStop
WHERE roadmapFk = OLD.roadmapFk
AND id <> OLD.id;
IF OLD.eta > vMaxEta OR vMaxEta IS NULL THEN
UPDATE roadmap
SET eta = COALESCE(vMaxEta, OLD.eta)
WHERE id = OLD.roadmapFk;
END IF;
END IF;
END$$
DELIMITER ;