2008-09-23 4 views
7

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

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

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

ответ

16
SELECT * 
FROM ALL_OBJECTS 
WHERE OBJECT_NAME = trigger_name 
AND OBJECT_TYPE = 'TRIGGER' 
AND STATUS <> 'VALID' 
+0

Ницца! Большое спасибо! – gizmo 2008-09-23 13:19:57

0

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

Смежные вопросы