Como referencia del curso: DML: Manipulación de datos con MySQL Comandos DML: Manipulación de datos con MySQL // Autoincremento, patrones y triggers // Video Triggers#1 y Triggers#2
Por qué no se puede crear el trigger de esta manera (con truncate):
delimiter // create trigger tg_facturacion_insert after insert on tb_items_facturas1 for each row begin truncate table tb_facturacion; insert into tb_facturacion select f.fecha, sum(cantidad*precio) as venta_total from tb_factura1 f inner join tb_items_facturas1 i on f.numero = i.numero end //
Y tiene que hacerse con delete
delimiter // create trigger tg_facturacion_insert after insert on tb_items_facturas1 for each row begin delete from tb_facturacion; insert into tb_facturacion select f.fecha, sum(cantidad*precio) as venta_total from tb_factura1 f inner join tb_items_facturas1 i on f.numero = i.numero group by f.fecha; end //
Y en el log de error me indica: Error Code: 1422. Explicit or implicit commit is not allowed in stored function or trigger.
Error el cuál me conlleva también a preguntar si existen instrucciones con commit implicito y explicito, cómo intervienen en este caso.