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

26 lines
637 B
SQL

DELIMITER $$
CREATE OR REPLACE DEFINER=`vn`@`localhost` TRIGGER `vn`.`roadmap_afterUpdate`
AFTER UPDATE ON `roadmap`
FOR EACH ROW
BEGIN
DECLARE vSeconds INT;
IF @roadmapTriggerIsActive IS NULL THEN
SET @roadmapTriggerIsActive = TRUE;
IF NOT (NEW.etd <=> OLD.etd) THEN
SET vSeconds = TIME_TO_SEC(TIMEDIFF(NEW.etd, OLD.etd));
IF vSeconds IS NOT NULL AND vSeconds <> 0 THEN
UPDATE vn.roadmapStop
SET eta = eta + INTERVAL vSeconds SECOND
WHERE roadmapFk = NEW.id;
SET NEW.eta = NEW.eta + INTERVAL vSeconds SECOND;
END IF;
END IF;
SET @roadmapTriggerIsActive = NULL;
END IF;
END$$
DELIMITER ;