-
DDL触发器的作用
- 定义:当创建,修改,删除数据库对象时,也会引发相应的触发器操作事件,此时可以利用触发器对这些数据库对象的DDL操作进行监控;
- 语法:
CREATE [OR REPLACE] TRIGGER 触发器名称 |
DDL触发器的创建语法中,给出的操作对象有两种: |
-
触发器中支持的DDL事件:
-
在使用以上事件时,想取得一些系统的信息,如当前操作用户,删除的数据库对象等,需要在DBMS_STANDARD包中定义的一些事件属性函数,常用的事件属性函数如下:
- 上表中出现的ORA_NAME_LIST_T是定义在DBMS_STANDARD包中的一个嵌套表类型,定义结构如下:
-
TYPE ora_name_list_t IS TABLE OF VARCHAR2(64); |
- 通过定义发现,该嵌套表中存放的是一个长度为64的字符数据,之后所有返回的数据信息都通过嵌套表取得
-
DDL触发器的使用
-
示例1:禁止c##scott用户的所有DDL操作
-