Oracle Database enthält mehrere Ansichten, die Informationen zu Triggern in der Datenbank enthalten. Wir können diese Ansichten verwenden, um eine Liste von Auslösern zurückzugeben.
Die user_triggers
Anzeigen
Die user_triggers
view beschreibt die Trigger, die dem aktuellen Benutzer gehören.
Abfragebeispiel:
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;
Wie bereits erwähnt, gibt dies nur die Trigger zurück, die dem aktuellen Benutzer gehören.
Um mehr zurückzugeben, verwenden Sie eine der folgenden Ansichten.
Die all_triggers
Anzeigen
Die all_triggers
view beschreibt die Trigger auf Tabellen, auf die der aktuelle Benutzer zugreifen kann.
Wenn der Benutzer den CREATE ANY TRIGGER
hat Privileg, dann beschreibt diese Ansicht alle Trigger in der Datenbank.
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;
Diese Ansicht enthält einen owner
Spalte, die uns sagt, wer der Besitzer ist, also habe ich das in diese Abfrage aufgenommen und die Ergebnisse auch nach dieser Spalte sortiert.
Die dba_triggers
Anzeigen
Die dba_triggers
view listet alle Trigger in der Datenbank auf:
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;
Die Spalten dieser Ansicht sind die gleichen wie die in all_triggers
ansehen.