我在oracle里建立了系统级触发器 create trigger aaa after create on database
然后我在主体里写了读视图sys.all_constraints里的内容,但是我在建一个表时,点确定后执行触发器,确读不到我刚才建的表的约束,好象sys.all_constraints是在执行完触发器后才将约束信息写入的,不知道是为什么呢????
...全文
1986打赏收藏
一个触发器的问题,我想建一个触发器捕获用户建表的信息
我在oracle里建立了系统级触发器 create trigger aaa after create on database 然后我在主体里写了读视图sys.all_constraints里的内容,但是我在建一个表时,点确定后执行触发器,确读不到我刚才建的表的约束,好象sys.all_constraints是在执行完触发器后才将约束信息写入的,不知道是为什么呢????
Create Or Replace Trigger tri_ddl_before Before ddl
ON test.Schema
DECLARE
sql_text dbms_standar.ora_name_list_t;
state_sql Varchar2(4000);
BEGIN
FOR i IN 1..ora_sql_txt(sql_text) LOOP
state_sql := state_sql||sql_text(i);
END LOOP;
................
End If;
EXCEPTION
WHEN NO_DATA_FOUND THEN
Null;
END tr_ddl_before;