Boa resposta de Rolando.
Além disso - os gatilhos não devem ser usados para a lógica, porque alguns gatilhos inter-relacionados posteriormente, as coisas ficam confusas rapidamente. Um bom conjunto de instruções em um procedimento armazenado ou no lado do cliente pode atravessar a lógica de negócios mais claramente do que um monte de lógica oculta no banco de dados. Também existem limitações nos gatilhos em relação à tabela da qual eles são acionados - portanto, você pode se dividir em dois lugares diferentes.
Além disso, você pode encontrar maneiras de otimizar em que ponto esses cálculos acontecem no servidor de lógica de negócios, enquanto um gatilho será acionado toda vez. Você se verá desligando o gatilho, atualizando a tabela e reativando o gatilho - o que também significa que é necessário colocar a lógica do gatilho nesse código.
Além disso - você não precisa ter toda a lógica na parte da lógica de negócios do código - poderá impor a integridade da tabela usando procedimentos armazenados. Isso pode iniciar uma transação, fazer várias atualizações e fazer com que as coisas retornem bem se algo falhar. Dessa forma, alguém olhando para o banco de dados pode ver a lógica para inserir um pedido, por exemplo. Isso é menos importante no mundo de hoje, pois os serviços da web podem ser a interface de acesso único ao banco de dados; mas no caso de vários executáveis terem acesso ao banco de dados, isso pode ser enorme.
Além disso - você terá transações de qualquer maneira - não executará seus gatilhos sem um ... certo? Portanto, é bom saber como iniciar uma transação; faça algumas coisas; e finalize uma transação. Se você vir esse padrão em seu código, mais um trecho de código que será usado será leve na carga cognitiva. Um gatilho, se você se lembrar de que está lá, forçará você a pensar de maneira diferente nas transações afetadas pelo gatilho, especialmente se outras tabelas forem recebidas e que também possam ter gatilhos.
Basicamente, entre um trabalho cron agendado regularmente (ou trabalho do agente de banco de dados) e bons procedimentos armazenados, você pode realizar 99% do que deseja. O 1%; repensar o projeto.