[Oracle] Désactiver un trigger pendant un UPDATE

Désactiver un trigger pendant un UPDATE [Oracle] - SQL/NoSQL - Programmation

Marsh Posté le 11-01-2006 à 15:20:33    

J'ai une table sur laquelle j'ai un trigger (et même 2).
 
J'ai besoin de faire un update ultra simple sur cette table, et j'aimerai pour que ça aille plus vite désactiver les triggers pendant l'exécution de ma requête (et seulement pour ma requête, je veux que si une autre mise à jour se fasse en même temps, que ce trigger ne soit pas désactivé)
 
Est-ce qu'il y a moyen de faire ça... ou de conditionner le trigger (mais je vois pas comment) ?
 
en gros mon trigger fait un vérif sur plein de champs et vire les retour chariot, etc...
et moi je souhaiterai simplement mettre 'N' sur tous mes enregistrements dans un champ paramétrable sur lequel je sais bien que jamais un trigger n'interviendra !
 
Je lance l'ordre SQL via un script passé à SQLPLUS (via un fichier .bat en gros, piloté par une tâche planifiée vu que ceci doit tourner tous les jours)
 
Merci d'avance !

Reply

Marsh Posté le 11-01-2006 à 15:20:33   

Reply

Marsh Posté le 11-01-2006 à 15:42:46    

Il vaut mieux locker la table, désactiver les triggers, faire l'update, réactiver les triggers, et libérer le lock (le tout en PL/SQL).
 
C'est le moyen le plus sûr, mais en contrepartie, si d'autres mises à jour désiraient se lancer, elles devront attendre que le lock soit libéré ...

Reply

Marsh Posté le 11-01-2006 à 21:12:44    

Bonjour  
je sui une debutante en oracle  
je veu entrer dans l oem  d oracle8i j ai essaye comme mot de passe manager et SYSTEM comme user mais ca marche pas ,je ne sai ou est l probleme?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed