31 lines
976 B
MySQL
31 lines
976 B
MySQL
|
DELIMITER $$
|
||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_insertZone`()
|
||
|
BEGIN
|
||
|
DECLARE vDone INT DEFAULT 0;
|
||
|
DECLARE vFechedTicket INT;
|
||
|
DECLARE vLanded DATE;
|
||
|
DECLARE vAddressFk INT;
|
||
|
DECLARE vAgencyModeFk INT;
|
||
|
DECLARE vWarehouseFk INT;
|
||
|
DECLARE vCursor CURSOR FOR
|
||
|
SELECT id, landed, addressFk, agencyModeFk, warehouseFk
|
||
|
FROM vn.ticket WHERE shipped > '2020-01-01' AND zoneFk is null;
|
||
|
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET vDone = 1;
|
||
|
|
||
|
OPEN vCursor;
|
||
|
REPEAT
|
||
|
FETCH vCursor INTO vFechedTicket, vLanded, vAddressFk, vAgencyModeFk, vWarehouseFk;
|
||
|
CALL vn.zone_getShipped (vlanded, vAddressFk, vAgencyModeFk, TRUE);
|
||
|
|
||
|
UPDATE vn.ticket t
|
||
|
JOIN tmp.zoneGetShipped zgs ON zgs.warehouseFk = vWarehouseFk
|
||
|
SET t.zoneFk = zgs.zoneFk
|
||
|
WHERE t.id = vFechedTicket;
|
||
|
|
||
|
UNTIL vDone END REPEAT;
|
||
|
DROP TEMPORARY TABLE tmp.zoneGetShipped;
|
||
|
|
||
|
CLOSE vCursor;
|
||
|
END$$
|
||
|
DELIMITER ;
|