Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Listar todos os gatilhos no banco de dados Oracle


O Oracle Database inclui várias exibições que contêm informações sobre gatilhos no banco de dados. Podemos usar essas visualizações para retornar uma lista de gatilhos.

Os user_triggers Visualizar


Os user_triggers view descreve os gatilhos de propriedade do usuário atual.

Exemplo de consulta:
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;

Conforme mencionado, isso retorna apenas os gatilhos pertencentes ao usuário atual.

Para retornar mais do que isso, use uma das exibições a seguir.

Os all_triggers Visualizar


Os all_triggers view descreve os gatilhos em tabelas acessíveis ao usuário atual.

Se o usuário tiver o CREATE ANY TRIGGER privilégio, então esta visão descreve todos os gatilhos no banco de dados.
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;

Esta visualização inclui um owner coluna que nos diz quem é o proprietário, então incluí isso nesta consulta e também classifiquei os resultados por essa coluna.

Os dba_triggers Visualizar


Os dba_triggers view lista todos os gatilhos no banco de dados:
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;

As colunas desta visualização são as mesmas de all_triggers visualizar.