Oi, Pedro! Tudo bem?
Peço desculpas pela demora em te responder.
Triggers são procedimentos que são acionados a partir de um evento específico, como inserção, atualização ou exclusão. Dentro do PostgreSQL, os triggers são sempre associados a uma função, a qual retorna o tipo TRIGGER
e não deve conter parâmetro.
Nesse sentido, como o objetivo, ao criar a função cria_instrutor
, era alimentar a tabela log_instrutores
com os últimos registros inseridos na tabela instrutor
, foi necessário trabalhar com um trigger
(que reconhece a execução de um INSERT
na tabela instrutor
e então realiza as atividades informadas na função criainstrutor
). Para adaptar a nova função à sintaxe empregada pelo PostgreSQL, tivemos que remover da antiga seus parâmetros e alterar o retorno para TRIGGER
.
Ainda que ambas as funções funcionem da mesma forma, a nova tem um diferencial, que é o trigger, o qual possibilita tudo aquilo que conversamos acima.
Dessa forma, não existe um motivo concreto para tais mudanças, apenas o fato de se tratar da sintaxe do PostgreSQL!
Pedro, espero que isso tenha ficado mais claro. Se surgir outra dúvida, estarei aqui para ajudar.
Um grande abraço!
Caso este post tenha lhe
ajudado, por favor, marcar como solucionado ✓. Bons Estudos!