Oracle触发器之系统触发器

系统触发器

可以用系统触发器记录一些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;

 

转载于:https://www.cnblogs.com/duguangming/p/10848959.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值