代码之家  ›  专栏  ›  技术社区  ›  Rushikumar Jeremy French

Oracle/SQL:检查是否启用/禁用触发器

  •  12
  • Rushikumar Jeremy French  · 技术社区  · 6 年前

    如何检查Oracle/SQL中是否启用或禁用了特定触发器?

    下面指定我的触发器是否有效,但未启用或禁用

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

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


    我查看了StackOverflow,发现了以下帖子,但没有找到针对Oracle/SQL的答案:

    2 回复  |  直到 6 年前
        1
  •  20
  •   Rushikumar Jeremy French    6 年前

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

    所以

    SELECT STATUS FROM USER_TRIGGERS WHERE TRIGGER_NAME = 'the_trigger_name';
    

    将获取 ENABLED DISABLED

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

    SELECT TRIGGER_NAME, STATUS FROM USER_TRIGGERS;
    
        2
  •  1
  •   mggSoft    2 年前

    此查询也适用于我:

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