Oracle
 sql >> Base de données >  >> RDS >> Oracle

mutation, le déclencheur/la fonction peut ne pas le voir - erreur lors de l'exécution du déclencheur

L'exception "la table est en mutation" est déclenchée lorsqu'un déclencheur défini comme FOR EACH ROW tente d'accéder à la table pour laquelle il a été déclenché. Tom Kyte a écrit un excellent guide sur les causes et la résolution de cette exception ici .

Dans votre exemple publié, vous n'avez pas FOR EACH ROW et je ne m'attendrais donc pas à ce que l'exception soit levée. Habituellement, il suffit d'utiliser les déclencheurs FOR EACH ROW dans les cas où il est nécessaire d'accéder aux valeurs :OLD ou :NEW de chaque ligne, ce que vous n'êtes pas.