我是oracle的新人。我尝试创建触发器,它将记录ddl操作并将其插入到我的表中。
CREATE TABLE LOG_DDL (
LOG_TIME date,
CURRENT_USER varchar2(255),
type varchar2(30),
name varchar2(30),
sysevent varchar2(30));
create or replace trigger log_ddl_trigger after ddl on database
begin
insert into LOG_DDL(LOG_TIME,CURRENT_USER,TYPE,NAME,SYSEVENT)
values(
sysdate,
sys_context('USERENV','CURRENT_USER'),
ora_dict_obj_type,
ora_dict_obj_name,
ora_sysevent
);
end log_ddl_trigger;
这是我的代码。问题是它不起作用。当我尝试执行插入,更新或其他操作时,LOG_DDL表中没有插入数据。你能救我吗?
答案 0 :(得分:1)
您已经定义了一个after ddl on database
触发器,而不是桌面上的DML触发器。