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

Le déclencheur ne peut pas lire la table, après avoir été déclenché par la même table

Si vous essayez de connecter l'ONO que vous venez d'insérer, utilisez :new.ono et ignorez complètement la sélection :

INSERT INTO BACKUP_ONO VALUES( VALUE1, VALUE2,VALUE3, :new.ono);

Je ne crois pas que vous puissiez sélectionner dans la table dans laquelle vous êtes en train d'insérer car le commit n'a pas encore été émis, d'où l'erreur de table de mutation.

PS Pensez à ne pas abréger. Expliquez-le clairement au prochain développeur et appelez-le ORDER_NUMBER ou au moins une abréviation généralement acceptée telle que ORDER_NBR, quelles que soient les normes de dénomination de votre entreprise. :-)

Pour votre information - Si vous mettez à jour, vous pouvez également accéder à :OLD.column, la valeur avant la mise à jour (bien sûr si la colonne n'est pas une colonne de clé primaire).