oracle利用触发器实现将ddl操作存入数据表中
2024-09-01 12:49:06
先创建DDL数据库事件操作表:
create table ddl_event(
sys_time date primary key,
event_name varchar2(20),
user_name varchar2(20),
obj_type varchar2(20),
obj_name varchar2(20))
然后建立触发器(系统事件触发器):
create or replace trigger tr_ddl
after ddl on schema
declare
-- local...
begin
insert into ddl_event values(sysdate,ora_sysevent,ora_login_user,ora_dict_obj_type,ora_dict_obj_name);
end
在oracle数据库中:
sysdate是date类型当前时间,systimestamp是timestamp类型的当前时间
ora_sysevent是系统事件,DDL事件,例如create,alter,drop这些操作
ora_login_user 是当前登录系统的用户
ora_dict_obj_type是操作的数据对象类型,例如表table,视图view,触发器trigger,存储过程procedure。
ora_dict_obj_name是操作数据对象的名称,例如表名,视图名,触发器名等等。
最新文章
- Android主流UI开源库整理(转载)
- 图解HTTP看书体会(1)
- 15条规则解析JavaScript对象布局(__proto__、prototype、constructor)
- Linux下查看CPU型号,内存大小,硬盘空间命令
- 焦点轮播图——myfocus焦点图库
- ORA-01078:failure in processing system parameters
- Python开发环境的搭建(win7)
- Apache Tomcat部署java web项目
- ios VS android
- BZOJ4711 小奇挖矿
- PHP中的数组
- C#编程经验-选择结构和循环结构
- Java操作Solr之SolrJ
- office系列调节背景主题
- CentOS配置iptables规则并使其永久生效
- 外汇EA(LRY_FX_Robot_V5)
- [Java123] Java中的System.exit
- 第8章 Linux磁盘与文件系统管理
- Maven 私服安装和启动
- .net维护的一些心得