トリガーが無効かどうかを確認するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/120900

  •  02-07-2019
  •  | 
  •  

質問

私は、いくつかのあいまいなツールによって自動生成された移動テーブルを含むデータベースに取り組んでいます。ところで、いくつかのトリガーを介してテーブル内の情報の変更を追跡する必要があります。そしてもちろん、テーブル構造の一部の変更により、たとえば列の削除や型の変更によって一部のトリガーが機能しなくなることもあります。

そこで、質問は次のとおりです。サポート チームにレポートを送信するために、Oracle メタデータをクエリして一部のトリガーが壊れているかどうかを確認する方法はありますか?

user_triggers はすべてのトリガーを提供し、それらが有効かどうかを示しますが、それらがまだ有効であるかどうかは示しません。

役に立ちましたか?

解決

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

他のヒント

SYS.OBJ$、特に STATUS 列を見てください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top