代码之家  ›  专栏  ›  技术社区  ›  gizmo

如何检查触发器是否无效?

  •  7
  • gizmo  · 技术社区  · 16 年前

    我正在处理数据库,这些数据库有一些模糊工具自动生成的移动表。顺便说一下,我们必须通过一些触发器跟踪表中的信息更改。当然,表结构中的某些更改会破坏一些触发器,例如,通过删除列或更改其类型。

    因此,问题是:是否有一种方法可以查询Oracle元数据以检查是否有一些触发器被破坏,以便向支持团队发送报告?

    用户触发器提供所有触发器,并通知它们是否启用,但不指示它们是否仍然有效。

    2 回复  |  直到 16 年前
        1
  •  17
  •   cagcowboy    16 年前
    SELECT *
    FROM   ALL_OBJECTS
    WHERE  OBJECT_NAME = trigger_name
    AND    OBJECT_TYPE = 'TRIGGER'
    AND    STATUS <> 'VALID'
    
        2
  •  0
  •   Mike McAllister    16 年前

    查看sys.obj$,特别是状态列。