系统触发器
可以用系统触发器记录一些ddl的数据操作或者是数据库的登录 或者登出操作。
语法:
create or replace trigger 触发器名称
before/after 触发器时机
事件名称 例如logon logoffff ddl
on
用户的对象/数据库 如果是用户的对象 用户名.schema /database
when 条件表达式
begin
语句块;
end;
举例:创建一个系统触发器,记录scott用户的ddl操作
--创建用户的历史记录操作表
create table ddl_event( --用户的操作时间 create_date date, -- 用户名 operate_user varchar2(100), -- 用户的操
作 operate varchar2(50), --用户操作对象的类型 obj_type varchar2(50), --用户操作对象的名称 obj_name
varchar2(50) );
创建触发器:
create or replace trigger tri_ddl_scott after ddl on scott.schema begin --往用户操作历史表插入数据 --可以通过数据库常量获取要插入的数据 insert into ddl_event values(sysdate,ora_login_user,ora_sysevent,ora_dict_obj_type, ora_dict_obj_name ); end;