ALL_TRIGGERS

ALL_TRIGGERS描述了当前用户可以访问的表上触发器。

相关视图:

DBA_TRIGGERS 描述了数据库中所有的触发器

USER_TRIGGERS 描述了当前用户拥有的触发器,这个视图没有显示owner列

表25 ALL_TRIGGERS 结构
列名 类型 描述
OWNER VARCHAR(128) 触发器的所有者(名字长度大于30的,截取名字的前30个字符)
TRIGGER_NAME VARCHAR(128) 触发器的名字(名字长度大于30的,截取名字的前30个字符)
TRIGGER_TYPE VARCHAR(16) 触发器何时触发: BEFORE STATEMENT BEFORE EACH ROW BEFORE EVENT AFTER STATEMENT AFTER EACH ROW AFTER EVENT
TRIGGERING_EVENT VARCHAR(246) 触发这个触发器的DML, DDL, 或数据库事件
TABLE_OWNER VARCHAR(128) 定义该触发器的表的拥有者
BASE_OBJECT_TYPE VARCHAR(18) 该触发器所在的基础对象: TABLE VIEW SCHEMA DATABASE
TABLE_NAME VARCHAR(128) 若触发器的基础对象是模式或者数据库,则此列为NULL;若基础对象是表或者视图,则该列指明表或者视图的名字
COLUMN_NAME VARCHAR(4000) 嵌套表的列名(若是嵌套表上的触发器),否则该列为NULL(目前取固定值NULL)
REFERENCING_NAMES VARCHAR(422) 触发器中引用旧值和新值时用的变量名(取"REFERENCING NEW AS NEW OLD AS OLD")
WHEN_CLAUSE VARCHAR(4000) 该条件在触发器运行时必须为真
STATUS VARCHAR(8) 指明触发器是否可用,ENABLED或者DISABLED,禁用的触发器不会被触发
DESCRIPTION VARCHAR(4000) 对触发器的描述;对重新创建触发器的创建语句有用
ACTION_TYPE VARCHAR(11) 触发器函数体的活动类型: CALL PL/SQL
TRIGGER_BODY CLOB 触发器的具体定义,被触发时运行的过程
CROSSEDITION VARCHAR(7) crossedition触发器的类型: NO(取固定值"NO")
BEFORE_STATEMENT VARCHAR(3) 指明触发器是否有BEFORE STATEMENT部分,YES或NO
BEFORE_ROW VARCHAR(3) 指明触发器是否有BEFORE EACH ROW部分,YES或NO
AFTER_ROW VARCHAR(3) 指明触发器是否有AFTER EACH ROW部分,YES或NO
AFTER_STATEMENT VARCHAR(3) 指明触发器是否有AFTER STATEMENT部分,YES或NO
INSTEAD_OF_ROW VARCHAR(3) 指明触发器是否有INSTEAD OF部分,YES或NO(取固定值"NO")
FIRE_ONCE VARCHAR(3) 指明触发器只在用户进程做出改变的上下文时才会触发(YES)还是在流应用或SQL应用线程上下文中也会触发(NO)(取固定值"NO")
APPLY_SERVER_ONLY VARCHAR(3) 指明触发器只在流应用或SQL应用线程触发(YES)还是不是(NO)。若该列给YES,FIRE_ONCE的设定就没有用了 参考DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY 存储过程(取固定值"NO")