利用触发器制作日志记录表
1.先在sys 账户下建立日志表
CREATE TABLE object_log(
logid NUMBER CONSTRAINT pk_logid PRIMARY KEY,
operatedate DATE NOT NULL,
objecttype VARCHAR2(50) NOT NULL,
objectowner VARCHAR2(50) NOT NULL
);
2.紧接着创建一个序列
CREATE SEQUENCE obj_log_seq;
3.创建触发器
CREATE OR REPLACE TRIGGER object_trigger
AFTER CREATE OR DROP OR ALTER ON DATABASE
BEGIN
INSERT INTO object_log VALUES(obj_log_seq.nextval,sysdate,ora_dict_obj_type,ora_dict_obj_owner);
END;
select * from object_log;
4.回到Scott账户下可以做一些操作
create sequence my_seq;
drop sequence my_seq;
create table my_user(
id number(2),
name varchar2(20));
drop table my_user;
5.回到sys 账户下查看操作结果
附:创建触发器时,在插入语句时里面的字段一开始有问题,后来看到网上是这么写的,是固定的吗?希望交流讨论
来源:CSDN
作者:小栖云
链接:https://blog.csdn.net/weixin_45572571/article/details/104737419