 create table w_corrige_estoque (
 date date,
 filial_id int,
 produto_id int,
 custo_medio decimal(18,2),
 validade date,
 smd decimal(18,2),
 primary key (filial_id, produto_id));
 
 insert into w_corrige_estoque
 (select '2023-04-30',
        filial_id,
        produto_id,
        custo_medio,
        validade,
        smd
 from ro_estoque where data = '2023-04-29');
 
select * from w_corrige_estoque
update ro_estoque e
inner join w_corrige_estoque w
on e.data = w.date
and e.filial_id = w.filial_id
and e.produto_id = w.produto_id
set e.custo_medio = w.custo_medio,
    e.validade = w.validade,
    e.smd = w.smd
where e.data = '2023-04-30';    
show processlist