mi sembra che questa funzioni:
codice:DELIMITER // DROP PROCEDURE IF EXISTS oc_scarica_giacenza_oggi // CREATE PROCEDURE oc_scarica_giacenza_oggi() NO SQL BEGIN DECLARE qta INT; DECLARE model VARCHAR(64); DECLARE finished INT DEFAULT 0; DECLARE curs CURSOR FOR SELECT oop.model codice, oop.quantity qta FROM oc_order oo INNER JOIN oc_order_product oop ON oo.order_id = oop.order_id WHERE DATE(oo.date_modified) = DATE(NOW()) AND oo.order_status_id = 5; DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1; OPEN curs; setGiac: LOOP FETCH curs INTO model, qta; IF finished = 1 THEN LEAVE setGiac; END IF; UPDATE giacenze SET giacenza_qta = (giacenza_qta - qta) WHERE giacenza_id = CAST(model AS SIGNED); END LOOP setGiac; CLOSE curs; END

Rispondi quotando