DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`sale_getComponentLackProblemComponent`( vComponentFk INT ) BEGIN /** * Actualiza los problemas para las lĂ­neas de ventas que tienen o dejan de tener problemas * con los componentes que derivan de cambios en la tabla vn.component * */ CREATE OR REPLACE TEMPORARY TABLE tmp.sale (INDEX(saleFk)) ENGINE = MEMORY SELECT s.id saleFk, sale_hasComponentLack(s.id) hasProblem FROM ticket t JOIN sale s ON s.ticketFk = t.id LEFT JOIN saleComponent sc ON sc.saleFk = s.id WHERE t.shipped >= util.midnight() AND sc.componentFk = vComponentFk; CALL sale_setProblem('hasComponentLack'); DROP TEMPORARY TABLE tmp.sale; END$$ DELIMITER ;