Message d'erreur mutating, trigger....(RESOLU) [SQL,ORACLE] - SQL/NoSQL - Programmation
Marsh Posté le 24-10-2007 à 20:37:14
erreur classique.
dans ton trigger, qui est surement un trigger "For each Row", tu refais un select/update/delete sur la même table.
Malheureusement, tu ne peux pas.
Maintenant, il y a des astuces pour contourner le problème, mais elle ne sont vraiment pas évidente.
Marsh Posté le 24-10-2007 à 21:34:29
en effet...tu as raison,je fais un select
je vois pas trop comment faire autrement car le traitement de mon if consiste a recopier ma ligne updatée et donc je suis obligé de faire un select...
je vais etudier la chose je te remercie
Marsh Posté le 25-10-2007 à 10:34:57
euh...
et la table locale "deleteled" t'y as pensé ? logiquement elle contient l'ensemble des lignes mises à jour dans leur état original...
faut juste boucler dessus à la même vitesse de la table "inserted" histoire de les garder synchro et c'est bon
Marsh Posté le 25-10-2007 à 17:57:04
jai trouvé
je faisai un select ...... in (select.....) et ça il n'aimait pas...
C'était inutile en +
Je vous remerci pour votre aide!
Marsh Posté le 24-10-2007 à 20:27:14
Bonsoir,je vous explique!
j'ai un trigger qui, lorsqu'il y a une ligne qui est modifiée, regarde si une certaine colonne est superieure à 5 et si c'est le cas doit copier toute la ligne modifiée dans une vue créee préalablement.
le problème est que lorsque je modifie une ligne j'ai ce message
ORA-04091: table IUTB203.CHERCHEUR is mutating, trigger/function may not see it
Je vois pas trop l'erreur donc si vous voyez pourquoi n'hésitez pas à me faire signe .
merci beaucoup d'avance!
PS je peut poster le code complet si vous préférez
Message édité par dibelup le 25-10-2007 à 17:57:45