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

Rus*_*mar 4 oracle oracle12c

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

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

SELECT *
FROM   ALL_OBJECTS
WHERE  OBJECT_TYPE = 'TRIGGER' AND OBJECT_NAME = 'the_trigger_name';
Run Code Online (Sandbox Code Playgroud)

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


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

Rus*_*mar 11

user_triggers 是创建特定于模式的所有触发器所在的表.

所以,

SELECT STATUS FROM USER_TRIGGERS WHERE TRIGGER_NAME = 'the_trigger_name';
Run Code Online (Sandbox Code Playgroud)

将获取任一ENABLED或的状态DISABLED.

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

SELECT TRIGGER_NAME, STATUS FROM USER_TRIGGERS;
Run Code Online (Sandbox Code Playgroud)