Jeudi 18 février 2010 4 18 /02 /Fév /2010 00:38

 

Activer, Désactiver, Supprimer un Trigger sur Table Oracle

Il peut être utile et même conseillé suivant le contexte de désactiver un Trigger lors d'une opération de maintenance lourde ou d'administration sur une table (PL/SQL, SQL*Loader, mise à jour en masse,etc...).

● Avec ALTER TRIGGER
● Avec ALTER TABLE
● Avec DROP TRIGGER

Activer/Désactiver le Trigger par son nom

SQL> ALTER TRIGGER MonTrigger ENABLE;
SQL> ALTER TRIGGER MonTrigger DISABLE;



Activer/Désactiver tous les Triggers d'une table


SQL> ALTER TABLE MaTable ENABLE ALL TRIGGERS;
SQL> ALTER TABLE MaTable DISABLE ALL TRIGGERS;



Supprimer un Trigger Oracle


SQL> DROP TRIGGER Nom_Trigger;

Voir les tables d'un SCHEMA qui ont des Triggers actifs (Enabled)

 


SQL> SELECT DISTINCT table_owner,
                     table_name,
                     status
     FROM all_triggers
     WHERE owner = 'MonUser'
     AND status = 'ENABLED';



La même requête pour récupérer le SQL à exécuter

SQL> SELECT DISTINCT
            'alter table '||table_owner||'.'||table_name||' DISABLE ALL TRIGGERS;'"SQL"
     FROM all_triggers
     WHERE owner = 'MonUser'
     AND status = 'ENABLED';

Attention pour la réactivation des triggers plus tard, ne réactiver pas ceux qui étaient intentionnellement désactiver!!


Voir les triggers du USER en cours


SQL> SELECT * FROM user_triggers;


 

Liens en rapport avec l'article et qui sont susceptibles de vous intéresser
• Types TRIGGERS Table et TRIGGERS Ligne ORACLE
Par Daniel Roesch - Publié dans : ORACLE TRIGGERS
Ecrire un commentaire - Voir les 0 commentaires
Retour à l'accueil

Rechercher Articles Oracle SQL sur ce Site.

Loading

À lire aussi…

Download PDF Oracle

Rechercher sur le site

Oracle 10G - DBA -

Syndication

  • Flux RSS des articles
Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés