-
Triggers - Gatilhos para agiliar tarefas
Segundo a documentação oficial do PostgreSQL 9.4, uma trigger é uma instrução ao banco de dados que deve automaticamente executar uma função específica quando uma operação específica for feita.
Elas podem ser para TABELAS, VIEWS e CHAVES ESTRANGEIRAS.
Letra E
Fonte:
PostgreSQL: Banco de dados para aplicações web modernas - Capítulo 6 - Vinícius Carvalho
-
Para quem ficou em dúvida na alternativa c
"If a trigger function executes SQL commands then these commands might fire triggers again. This is known as cascading triggers. There is no direct limitation on the number of cascade levels. It is possible for cascades to cause a recursive invocation of the same trigger; for example, an INSERT trigger might execute a command that inserts an additional row into the same table, causing the INSERT trigger to be fired again. It is the trigger programmer's responsibility to avoid infinite recursion in such scenarios."
Portanto, pode haver sim recursividade de triggers e a responsabilidade de tratá-la é do desenvolvedor, o que invalida a alternativa C.
Fonte: https://www.postgresql.org/docs/9.5/static/trigger-definition.html
-
a) gatilhos restritos a views são os do tipo INSTEAD OF. Essa regra existe no PostgreSQL, mas não no SQL Server
b) REFERENCING é usado com OLD e NEW
c) Pode existir recursividade em gatilhos
d) Tabelas estrangeiras??
e) O trigger é acionado antes e não depois do delete