sql >> Base de Datos >  >> RDS >> Oracle

La tabla está mutando, es posible que el activador o la función no lo vean (evitando que una calificación promedio caiga por debajo de 2.5)

Primero debe leer acerca de los disparadores, el error de la tabla de mutación y los disparadores compuestos:http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm#LNPLS2005

Su disparador es DESPUÉS DE ACTUALIZAR O INSERTAR O ELIMINAR. Significa que si ejecuta instrucciones UPDATE OR INSERT OR DELETE en esta tabla, se activará el disparador. Pero está intentando actualizar la misma tabla nuevamente dentro de su disparador, que es compl. equivocado. Esta es la razón por la que está recibiendo el error. No puede modificar la misma tabla en la que se dispara el disparador. El propósito del disparador es disparar automáticamente cuando la tabla se actualiza, inserta o elimina en su caso. Lo que necesita es algún procedimiento, no desencadenar.