|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Inscription : janvier 2008 Messages : 33 ![]() |
BONJOUR A TOUS
voila encore un pb qui me tombe dessus !!! maintenant que j'ai reussi à enfin creer mes triggers , utiliser le package utl_http une erreur de la lune me tombe dessus !! ORA-04091: la table USER.CMD est en mutation explication de ce que j'ai fait : j'ai deux tables une CMD et l'autre SESSION sur la premiere je crée un trigger qui alimente la deuxieme et sur cette deuxieme table un trigger utilisant le package utl_http qui pointe sur une url ( le fait de pointer cette url me crée un cache ) . l'url à laquelle correspond ma page fait une lecture de ma table CMD. donc voila la sequence : - insertion de ma ligne de commande ( exemple ligne 40 ). - declenchement du trigger sur CMD. - insertion ligne dans ma table SESSION. - création de mon cache ( qui contient le resultat de la lecture de la table CMD ). - lecture du cache préalablement crée. tous mes triggers se declenchent en AFTER donc j'en ai deduit que apres avoir inseré ma ligne de cmd, mon cache créé, devrai me donner l'ensemble des lignes inséré ( donc jusqu'a la 40 ). et ben non !!! mon cache contient mes lignes jusqu'a la 39 ! pour resumer le fait de faire toutes ces opérations à la suite il ne me prend pas en compte ma derniere ligne. alors j'ai testé quelque chose, faire un select de CMD sur mon deuxieme trigger et là mes supers erreurs : Code :
table mutante et j'ai pas tout compri alors le gros pb c'est que finalement le fait de mettre une insertion et un select dans cette même sequence ne peut pas se faire ou alors il va me donner le select de l'avant insertion !! comment pourrai je contourner se pb qui apparement est un securité !! merci de votre aide |
||
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Inscription : janvier 2008 Messages : 33 ![]() |
j'ai pensé a un truck, est-ce que le faite de faire ces opérations a la suite fait que tous cela est dans une même transaction et donc la validation de l'insert n'est pas encore faite ?
|
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
faut dire que si on doit deviner le code de USER.SESSION_ENTREE_T1 c'est pas gagné en effet
Aussi, ce serait pas mal que tu lises l'article correspondant à cette erreur ainsi que les discussions du forum où on a expliqué le problème |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 319 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com