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

时间:2018-03-29 13:31:25

标签: oracle oracle12c

如何检查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的答案:

1 个答案:

答案 0 :(得分:8)

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

所以,

SELECT STATUS FROM USER_TRIGGERS WHERE TRIGGER_NAME = 'the_trigger_name';

将获取ENABLEDDISABLED的状态。

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

SELECT TRIGGER_NAME, STATUS FROM USER_TRIGGERS;