Oracle Database include diverse viste che contengono informazioni sui trigger nel database. Possiamo utilizzare queste viste per restituire un elenco di attivatori.
Gli user_triggers
Visualizza
Gli user_triggers
view descrive i trigger di proprietà dell'utente corrente.
Esempio di query:
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;
Come accennato, questo restituisce solo quei trigger che sono di proprietà dell'utente corrente.
Per restituire più di questo, utilizza una delle seguenti visualizzazioni.
Il all_triggers
Visualizza
I all_triggers
view descrive i trigger sulle tabelle accessibili all'utente corrente.
Se l'utente ha il CREATE ANY TRIGGER
privilegio, quindi questa vista descrive tutti i trigger nel database.
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;
Questa vista include un owner
colonna che ci dice chi è il proprietario, quindi l'ho incluso in questa query e ho anche ordinato i risultati in base a quella colonna.
I dba_triggers
Visualizza
I dba_triggers
view elenca tutti i trigger nel database:
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;
Le colonne di questa vista sono le stesse di all_triggers
visualizza.