Ei! Tudo bem, William?
É muito comum essa confusão no início, mas o que está acontecendo aí não é um comando UPDATE disfarçado, e sim uma estratégia de limpeza e recálculo total.
Como funciona essa Trigger?
O comportamento de "atualização" que você notou acontece devido à combinação dos comandos DELETE e INSERT rodando em sequência toda vez que um novo registro entra na tabela itenspedidos.
O fluxo interno que o banco de dados executa é o seguinte:
AFTER INSERT ON itenspedidos: insere um novo item no pedido. O banco ativa a Trigger.
DELETE FROM faturamentodiario;: A primeira ação da Trigger é apagar absolutamente todos os registros que já existiam na tabela de faturamento. Ela fica completamente vazia.
INSERT INTO ... SELECT ...: Logo em seguida, o banco executa uma consulta que recalcula o faturamento de todos os dias históricos (somando tudo de novo, inclusive o novo item que acabou de ser inserido) e insere esses dados do zero na tabela limpa.
Então, visualmente, parece que o banco de dados atualizou (UPDATE) o faturamento dos dias, mas por trás dos panos ele deletou tudo e recalculou o histórico inteiro.
Deu para compreender como o DELETE seguido do INSERT simula esse efeito de atualização na tabela? Espero que sim!
Conte sempre conosco e até mais!
Conteúdos para complementar seus estudos
Esse conteúdo pode estar em inglês, para traduzi-lo utilize o tradutor automático do navegador ou clique com o botão direito do mouse sobre a página e selecione a opção Traduzir para o português.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado