Oracle
 sql >> Base de données >  >> RDS >> Oracle

Répertorier tous les déclencheurs dans la base de données Oracle

Oracle Database comprend plusieurs vues contenant des informations sur les déclencheurs de la base de données. Nous pouvons utiliser ces vues pour renvoyer une liste de déclencheurs.

Les user_triggers Afficher

Les user_triggers view décrit les déclencheurs appartenant à l'utilisateur actuel.

Exemple de requête :

SELECT
    trigger_name,
    trigger_type,
    triggering_event,
    table_owner, 
    table_name, 
    base_object_type, 
    status, 
    trigger_body    
FROM 
    user_triggers
ORDER BY
    trigger_name ASC,
    base_object_type ASC,
    table_name ASC;

Comme mentionné, cela ne renvoie que les déclencheurs appartenant à l'utilisateur actuel.

Pour renvoyer plus que cela, utilisez l'une des vues suivantes.

Les all_triggers Afficher

Les all_triggers view décrit les déclencheurs sur les tables accessibles à l'utilisateur actuel.

Si l'utilisateur a le CREATE ANY TRIGGER privilège, cette vue décrit tous les déclencheurs de la base de données.

SELECT
    owner,
    trigger_name,
    trigger_type,
    triggering_event,
    table_owner, 
    table_name, 
    base_object_type, 
    status, 
    trigger_body    
FROM 
    all_triggers
ORDER BY
    owner ASC,
    trigger_name ASC,
    base_object_type ASC,
    table_name ASC;

Cette vue inclut un owner colonne qui nous indique qui est le propriétaire, donc je l'ai inclus dans cette requête, et j'ai également trié les résultats par cette colonne.

Les dba_triggers Afficher

Les dba_triggers view répertorie tous les déclencheurs de la base de données :

SELECT
    owner,
    trigger_name,
    trigger_type,
    triggering_event,
    table_owner, 
    table_name, 
    base_object_type, 
    status, 
    trigger_body    
FROM 
    dba_triggers
ORDER BY
    owner ASC,
    trigger_name ASC,
    base_object_type ASC,
    table_name ASC;

Les colonnes de cette vue sont les mêmes que celles de all_triggers vue.