ALL_TRIGGERS¶
ALL_TRIGGERS描述了当前用户可以访问的表上触发器。
相关视图:
DBA_TRIGGERS 描述了数据库中所有的触发器
USER_TRIGGERS 描述了当前用户拥有的触发器,这个视图没有显示owner列
| 列名 | 类型 | 描述 |
|---|---|---|
| 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") |