DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`route_beforeUpdate` BEFORE UPDATE ON `route` FOR EACH ROW BEGIN DECLARE vKmMax INT; SET NEW.editorFk = account.myUser_getId(); IF NEW.isOk <> FALSE AND OLD.isOk = FALSE THEN SET NEW.m3 = ( SELECT SUM(litros)/1000 FROM vn.saleVolume s JOIN vn.ticket t ON s.ticketFk = t.id WHERE t.routeFk = NEW.id); END IF; IF NEW.kmEnd < NEW.kmStart AND NEW.kmEnd <> 0 THEN CALL util.throw ('KmEnd menor que kmStart'); END IF; SELECT kmMax INTO vKmMax FROM routeConfig rc; IF ((NEW.kmEnd - NEW.kmStart) > vKmMax) AND NEW.kmEnd <> 0 THEN CALL util.throw (CONCAT('The km can not exceed ', vKmMax)); END IF; END$$ DELIMITER ;