Как проверить, является ли триггер недействительным? - PullRequest
7 голосов
/ 23 сентября 2008

Я работаю с базами данных, в которых движущиеся таблицы автоматически генерируются некоторыми неясными инструментами. Кстати, мы должны отслеживать изменения информации в таблице с помощью некоторых триггеров. И, конечно, бывает, что некоторые изменения в структуре таблицы сломали некоторые триггеры, например, удалив столбец или изменив его тип.

Итак, вопрос: есть ли способ запросить метаданные Oracle, чтобы проверить, не сломаны ли некоторые триггеры, чтобы отправить отчет в службу поддержки?

user_triggers выдает все триггеры и сообщает, включены они или нет, но не указывает, все ли они действительны.

Ответы [ 2 ]

17 голосов
/ 23 сентября 2008
SELECT *
FROM   ALL_OBJECTS
WHERE  OBJECT_NAME = trigger_name
AND    OBJECT_TYPE = 'TRIGGER'
AND    STATUS <> 'VALID'
0 голосов
/ 23 сентября 2008

Посмотрите на SYS.OBJ $, в частности на столбец STATUS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...