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

26 lines
698 B
SQL

DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`travel_afterUpdate`
AFTER UPDATE ON `travel`
FOR EACH ROW
BEGIN
IF NOT(NEW.shipped <=> OLD.shipped) THEN
UPDATE entry
SET commission = entry_getCommission(travelFk, currencyFk,supplierFk)
WHERE travelFk = NEW.id;
END IF;
IF NOT (NEW.agencyModeFk <=> OLD.agencyModeFk) THEN
IF (SELECT hasWeightVolumetric FROM agencyMode WHERE id = NEW.agencyModeFk) THEN
CREATE OR REPLACE TEMPORARY TABLE tmp.buysToCheck
SELECT b.id
FROM entry e
JOIN buy b ON b.entryFk = e.id
JOIN item i ON i.id = b.itemFk
WHERE e.travelFk = NEW.id;
CALL buy_checkItem();
END IF;
END IF;
END$$
DELIMITER ;