|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éprouvé
![]() Inscription : mai 2002 Messages : 535 ![]() |
Os HPUX 11 / Oracle 9i
Est il possible dans un trigger de declancher un "raise_application_error" sans rollback . L'idée etant la suivante : je veux tracer des inserts dans une table via un trigger "After Insert" sur cette table . Et apres chaque insert je fais une serie de verification sur les données de cette insertion : au final la verification s'il est KO sort par un (raise_application_error ==> ceci me permettant de prendre en compte le message d'erreur dans l'application qui lance l'insertion) mais je veux que tous ce qui à ete fait (insertion & trace) reste en l'etat (pas de rollback) Avez vous une idée ? Merci de votre aide
__________________
Signé : Capitaine Jean-Luc Picard |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Dans votre cas, pour être sûr d'avoir systématiquement une trace de l'exécution du trigger, il faut utiliser une procédure qui démarre une transaction indépendante: celle ci peut être terminée par COMMIT indépendemment de la transaction en cours. Pour cela, il faut créer une procédure avec le pragma AUTONOMOUS TRANSACTION: http://sheikyerbouti.developpez.com/pl_sql/?page=Chap4
|
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
ça m'étonnerait que ça fonctionne...
|
|
|
00
|
|
|
#4 |
|
Membre éprouvé
![]() Inscription : mai 2002 Messages : 535 ![]() |
[pifor] Merci pour cette réponse
Cordialement @argoet
__________________
Signé : Capitaine Jean-Luc Picard |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : octobre 2006 Messages : 73 ![]() |
Attention si tu es en diistribué !
Je n'ai pas essayé depuis mais en 8i, le déclenchement d'une procédure en Autonomous transaction via du distribué ne fonctionnait pas ! |
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() Inscription : avril 2006 Messages : 465 ![]() |
oui en 8i les autonomous transaction posaint des problèmes (Je me souviens plus du message d'erreur) si on les utilisaient avec des DBLINK.
Mais depuis la 9i c'est reglé (et ca nous a sorti une belle épine du pied Donc dans le cas de argoet pas soucis meme si il à des DBLINK |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com