【问题标题】:Oracle/SQL: Check If Trigger Enabled/DisabledOracle/SQL:检查触发器是否启用/禁用
【发布时间】:2018-09-08 11:47:45
【问题描述】:

如何检查特定触发器在 Oracle/SQL 中是启用还是禁用?

以下内容指定我的触发器是否有效——但未启用或禁用

SELECT *
FROM   ALL_OBJECTS
WHERE  OBJECT_TYPE = 'TRIGGER' AND OBJECT_NAME = 'the_trigger_name';

我的 Oracle 数据库版本:12c - 企业版 v12.1.0.2.0 - 64 位


我检查了 StackOverflow 并看到了以下帖子,但没有找到特定于 Oracle/SQL 的答案:

【问题讨论】:

    标签: oracle oracle12c


    【解决方案1】:

    user_triggers 是创建的所有触发器(特定于架构)所在的表。

    所以,

    SELECT STATUS FROM USER_TRIGGERS WHERE TRIGGER_NAME = 'the_trigger_name';
    

    将获取ENABLEDDISABLED 的状态。

    另外,获取所有触发器及其状态--

    SELECT TRIGGER_NAME, STATUS FROM USER_TRIGGERS;
    

    【讨论】:

      【解决方案2】:

      这个查询也对我有用:

      SELECT trigger_name,status
      FROM dba_triggers
      WHERE trigger_name = upper ('TRIGGERNAME');
      

      【讨论】:

        猜你喜欢
        • 2011-12-29
        • 1970-01-01
        • 1970-01-01
        • 2013-02-09
        • 2021-04-04
        • 2010-11-26
        • 2016-09-05
        • 2023-03-16
        • 2020-09-24
        相关资源
        最近更新 更多