7
我正在處理由一些不起眼的工具自動生成移動表的數據庫。順便說一下,我們必須通過一些觸發器來跟蹤表中的信息變化。當然,例如,通過刪除列或更改其類型,表結構中的某些更改會觸發某些觸發器。如何檢查觸發器是否無效?
因此,問題是:有沒有辦法查詢Oracle元數據來檢查是否有一些觸發器被破壞,以便向支持團隊發送報告?
user_triggers給出所有觸發器,並告知它們是否啓用,但不表示它們是否仍然有效。
我正在處理由一些不起眼的工具自動生成移動表的數據庫。順便說一下,我們必須通過一些觸發器來跟蹤表中的信息變化。當然,例如,通過刪除列或更改其類型,表結構中的某些更改會觸發某些觸發器。如何檢查觸發器是否無效?
因此,問題是:有沒有辦法查詢Oracle元數據來檢查是否有一些觸發器被破壞,以便向支持團隊發送報告?
user_triggers給出所有觸發器,並告知它們是否啓用,但不表示它們是否仍然有效。
SELECT *
FROM ALL_OBJECTS
WHERE OBJECT_NAME = trigger_name
AND OBJECT_TYPE = 'TRIGGER'
AND STATUS <> 'VALID'
看看SYS.OBJ $,特別是STATUS列。
不錯!非常感謝! – gizmo 2008-09-23 13:19:57