Единственный сценарий, когда триггер сбрасывается без явного
DROP TRIGGER <trigger_name>;
, это когда таблица также отбрасывается.
DROP <TABLE_NAME>;
В тех случаях, когда исходный код триггера ссылается на схему, которой больше нет, триггер становится недействительным.Вы можете запросить в вашей базе данных недопустимые объекты с помощью:
select * from user_objects where status != 'VALID'
-- invalid objects associated with the user you are logged in as
select * from all_objects where status != 'VALID'
-- all invalid objects in the database
В некоторых случаях, когда вы указываете каскад, пропускается «каскад».Но это сфокусировано на удалении дочерних таблиц.
drop table <table_name> cascade constraints;
Документация Oracle 10g по DROP TABLE DDL.
Все эти триггеры часто неправильно используются и приводят к ошибкам.Я бы посоветовал вам не размещать в них логику приложения.