47 lines
1.2 KiB
SQL
47 lines
1.2 KiB
SQL
|
|
DELIMITER $$
|
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`delivery_beforeInsert`
|
|
BEFORE INSERT ON `delivery`
|
|
FOR EACH ROW
|
|
BEGIN
|
|
|
|
IF (NEW.longitude IS NOT NULL AND NEW.latitude IS NOT NULL AND NEW.ticketFK IS NOT NULL)
|
|
THEN
|
|
UPDATE address
|
|
SET longitude = NEW.longitude,
|
|
latitude = NEW.latitude
|
|
WHERE id IN (
|
|
SELECT addressFK
|
|
FROM ticket
|
|
WHERE id = NEW.ticketFk
|
|
);
|
|
END IF;
|
|
|
|
END$$
|
|
DELIMITER ;
|
|
|
|
DELIMITER $$
|
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`delivery_beforeUpdate`
|
|
BEFORE UPDATE ON `delivery`
|
|
FOR EACH ROW
|
|
BEGIN
|
|
|
|
IF (NEW.longitude IS NOT NULL AND NEW.latitude IS NOT NULL AND NEW.ticketFK IS NOT NULL)
|
|
THEN
|
|
UPDATE address
|
|
SET longitude = NEW.longitude,
|
|
latitude = NEW.latitude
|
|
WHERE id IN (
|
|
SELECT addressFK
|
|
FROM ticket
|
|
WHERE id = NEW.ticketFk
|
|
);
|
|
END IF;
|
|
|
|
END$$
|
|
DELIMITER ;
|
|
|
|
|
|
ALTER TABLE `vn`.`address` MODIFY COLUMN longitude decimal(11,7) DEFAULT NULL NULL COMMENT 'Indica la última longitud proporcionada por tabla delivery';
|
|
ALTER TABLE `vn`.`address` MODIFY COLUMN latitude decimal(11,7) DEFAULT NULL NULL COMMENT 'Indica la última latitud proporcionada por tabla delivery';
|