トリガーが無効かどうかを確認するにはどうすればよいですか?
質問
私は、いくつかのあいまいなツールによって自動生成された移動テーブルを含むデータベースに取り組んでいます。ところで、いくつかのトリガーを介してテーブル内の情報の変更を追跡する必要があります。そしてもちろん、テーブル構造の一部の変更により、たとえば列の削除や型の変更によって一部のトリガーが機能しなくなることもあります。
そこで、質問は次のとおりです。サポート チームにレポートを送信するために、Oracle メタデータをクエリして一部のトリガーが壊れているかどうかを確認する方法はありますか?
user_triggers はすべてのトリガーを提供し、それらが有効かどうかを示しますが、それらがまだ有効であるかどうかは示しません。
解決
SELECT *
FROM ALL_OBJECTS
WHERE OBJECT_NAME = trigger_name
AND OBJECT_TYPE = 'TRIGGER'
AND STATUS <> 'VALID'
他のヒント
SYS.OBJ$、特に STATUS 列を見てください。
所属していません StackOverflow