DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `bs`.`carteras_add`() BEGIN /** * Inserta en la tabla @bs.carteras las ventas desde el año pasado * agrupadas por trabajador, año y mes */ DECLARE vYear INT DEFAULT YEAR(util.VN_CURDATE()) - 1; DELETE FROM bs.carteras WHERE Año >= vYear; CALL util.time_generate( MAKEDATE(vYear, 1), (SELECT MAX(fecha) FROM ventas) ); INSERT INTO carteras(Año, Mes , CodigoTrabajador, Peso) SELECT t.`year`, t.`month`, w.code, SUM(v.importe) FROM tmp.time t JOIN ventas v on t.dated = v.fecha JOIN vn.client c on c.id = v.Id_Cliente JOIN vn.worker w ON w.id = c.salesPersonFk GROUP BY w.code, t.`year`, t.`month`; DROP TEMPORARY TABLE tmp.time; END$$ DELIMITER ;