bem imagina que tens uma base de dados num host, com clientes a volta dela.
agora imagina que tens informação que precisa de ser entregue para alguns users...
imagina q são vendedores.
imagina q é criado um cliente novo.
imagina que por defeito todas as pessoas de uma zona deveriam receber esse novo potencial cliente na sua lista.
um trigger na tabela clientes, activado no insert, que verifica os territorios e faz o spool da informação para um queue proprio para cada vendedor.
um exemplo em milhares.
garantir consistencia, e obrigar querys a falhar.
logging especial.
é o que quiseres.
basta saber dar-lhe uso, é uma ferramente tal cm mtas outras existem.
imagina que queres implementar pequenas rotinas de DQ (data quality) no host, como por exemplo um campo qq numa tabela que pode ser escrito em 20 sitios da aplicação.
em vez desperdiçar horas de programação uteis, colocas um trigger para num insert (por exemplo um nome), para fazer o update para o nome em initcap(), ou upper(), ja percebeste.
enfim, mas n sou eu que te vou convencer da utilidade ou nao de um trigger, vou simplesmente usando qd preciso de usar.
uma coisa q n deves nunca esquecer, é q nem sempre és tu q desenvolves uma aplicação, e um trigger é uma das formas de sem mexer na aplicação front-end, alterar a sua forma de funcionar, ou outra de "dar um geito" nos dados, para tentar meter o front-end como queremos.
outra aplicação de triggering é provocar computação de dados aquando de inserção de novas linhas.
imagina uma simploria folha de abastecimentos de combustivel, inseres um novo abastecimento e computas novamente os dados para as medias, bla bla bla.
cm já deves calcular, podia dar-te exemplos sem fim.
e sim, uma ou outra coisa podias fazer de outras formas, principalmente qd tens serviços a correr em cima da DB.