【问题标题】:How to check if a trigger is invalid?如何检查触发器是否无效?
【发布时间】:2010-09-12 08:43:18
【问题描述】:

我正在研究具有由一些不起眼的工具自动生成的移动表的数据库。顺便说一句,我们必须通过一些触发器来跟踪表中的信息变化。当然,表结构中的某些更改会破坏某些触发器,例如删除列或更改其类型。

所以,问题是:有没有办法查询 Oracle 元数据以检查某些触发器是否损坏,以便向支持团队发送报告?

user_triggers 给出所有触发器并告诉它们是否启用,但不指示它们是否仍然有效。

【问题讨论】:

    标签: oracle triggers


    【解决方案1】:

    查看 SYS.OBJ$,特别是 STATUS 列。

    【讨论】:

      【解决方案2】:
      SELECT *
      FROM   ALL_OBJECTS
      WHERE  OBJECT_NAME = trigger_name
      AND    OBJECT_TYPE = 'TRIGGER'
      AND    STATUS <> 'VALID'
      

      【讨论】:

      • Select * from user_objects where satus != 'VALID'
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-31
      • 2014-04-01
      • 2010-10-12
      • 1970-01-01
      • 2016-01-16
      相关资源
      最近更新 更多