Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

A tabela está em mutação, o gatilho/função pode não vê-la (impedindo que uma nota média caia abaixo de 2,5)


Primeiro você precisa ler sobre gatilhos, erro de tabela mutante e gatilhos compostos:http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm#LNPLS2005

Seu gatilho é AFTER UPDATE OR INSERT OR DELETE. Significa que se você executar instruções UPDATE OR INSERT OR DELETE nesta tabela, o gatilho será acionado. Mas você está tentando atualizar a mesma tabela novamente dentro do seu gatilho, o que é compl. errado. É por isso que você está recebendo o erro. Você não pode modificar a mesma tabela na qual o gatilho está disparando. O objetivo do gatilho é disparar automaticamente quando a tabela é atualizada, inserida ou excluída no seu caso. O que você precisa é de algum procedimento, não de gatilho.