Oracle
 sql >> Database >  >> RDS >> Oracle

La tabella sta mutando, il trigger/la funzione potrebbe non vederlo (impedendo a un voto medio di scendere al di sotto di 2,5)

Per prima cosa devi leggere i trigger, l'errore di tabella mutante e i trigger composti:http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm#LNPLS2005

Il tuo trigger è DOPO L'AGGIORNAMENTO O INSERIRE O ELIMINARE. Significa che se esegui UPDATE OR INSERT OR DELETE istruzioni su questa tabella, il trigger si attiverà. Ma stai cercando di aggiornare di nuovo la stessa tabella all'interno del tuo trigger, che è compl. sbagliato. Questo è il motivo per cui stai ricevendo l'errore. Non è possibile modificare la stessa tabella su cui si attiva il trigger. Lo scopo del trigger è di attivarsi automaticamente quando la tabella viene aggiornata, inserita o eliminata nel tuo caso. Ciò di cui hai bisogno è una procedura, non un trigger.