Oracle Database zawiera kilka widoków, które zawierają informacje o wyzwalaczach w bazie danych. Możemy użyć tych widoków, aby zwrócić listę wyzwalaczy.
user_triggers
Zobacz
user_triggers
widok opisuje wyzwalacze należące do bieżącego użytkownika.
Przykład zapytania:
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;
Jak wspomniano, zwraca tylko te wyzwalacze, które są własnością bieżącego użytkownika.
Aby zwrócić więcej, użyj jednego z poniższych widoków.
all_triggers
Zobacz
all_triggers
widok opisuje wyzwalacze w tabelach dostępnych dla bieżącego użytkownika.
Jeśli użytkownik ma CREATE ANY TRIGGER
przywilej, wtedy ten widok opisuje wszystkie wyzwalacze w bazie danych.
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;
Ten widok zawiera owner
kolumna, która mówi nam, kto jest właścicielem, więc uwzględniłem to w tym zapytaniu, a także posortowałem wyniki według tej kolumny.
dba_triggers
Zobacz
dba_triggers
wyświetl listę wszystkich wyzwalaczy w bazie danych:
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;
Kolumny tego widoku są takie same jak te w all_triggers
widok.