Oracle中触发器的使用(基于系统事件与用户处事件的触发器)


 
  1. reate or replace trigger tr_insert_emp  
  2.       before insert  
  3.       on emp for each row  
  4.       begin  
  5.         insert into A values(:new.empno,:new.ename,:new.job,:new.mgr,:new.hiredate,:new.sal,:new.comm,:new.deptno);  
  6.       end;  
  7.         
  8.       insert into emp values(1,'A','Soft',4,to_date('2011-09-12','yyyy-MM-dd'),1,1,20);  
  9.        select * from A;  
  10.          

:new.data ,:old.data

基于系统事件与用户处事件的触发器、

比如在数据库启动的时候

 
  1. create or replace trigger tr_db_log  
  2. after startup  
  3. on database  
  4. begin  
  5.    --do what you want to do!   
  6. end;  

以及可以使用 before shutdown

当清空表的触发器
create or replace trigger tr_truncate_table
after truncate
begin
      insert into A_table values(ora_dict_obj_name,user,sysdate);
      --ora_dict_obj_name 指定被删除对象的名称
end;

禁用触发器
alter tirgger tr_name disable;

启用触发器
alter trigger tr_name enable;

相关内容