如何检查是否触发无效?(How to check if a trigger is invalid?)

2019-07-31 03:25发布

我的工作是有一些不常见的工具移动工作台自动生成的数据库。 顺便说一句,我们必须跟踪通过某种触发器表中的信息的变化。 而且,当然,它发生的是,在表结构中的一些变化打破了一些触发器,通过去除一个柱或改变其类型,例如。

所以,问题是:有没有一种方法来查询Oracle的元数据来检查被一些触发器被打破,以发送到支持团队的报告?

该USER_TRIGGERS给所有触发器,如果​​他们能与否,但没有说明他们是否仍然有效告知。

Answer 1:

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


Answer 2:

看看SYS.OBJ $,具体状态列。



文章来源: How to check if a trigger is invalid?