Oracle Database incluye varias vistas que contienen información sobre disparadores en la base de datos. Podemos usar estas vistas para devolver una lista de disparadores.
Los user_triggers
Ver
Los user_triggers
La vista describe los activadores que posee el usuario actual.
Ejemplo 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;
Como se mencionó, esto devuelve solo aquellos disparadores que son propiedad del usuario actual.
Para devolver más que eso, use una de las siguientes vistas.
Los all_triggers
Ver
Los all_triggers
view describe los activadores en las tablas accesibles para el usuario actual.
Si el usuario tiene el CREATE ANY TRIGGER
privilegio, esta vista describe todos los disparadores en la base de datos.
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 vista incluye un owner
columna que nos dice quién es el propietario, así que lo incluí en esta consulta y también ordené los resultados por esa columna.
Los dba_triggers
Ver
Los dba_triggers
ver enumera todos los disparadores en la base de datos:
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;
Las columnas de esta vista son las mismas que las de all_triggers
ver.