Oracle ddl触发器无法正常工作

时间:2015-11-29 11:13:58

标签: oracle oracle-sqldeveloper ddl

我是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表中没有插入数据。你能救我吗?

1 个答案:

答案 0 :(得分:1)

您已经定义了一个after ddl on database触发器,而不是桌面上的DML触发器。