Oracle中觸發器的使用(基於系統事件與使用者處事件的觸發器)

來源:互聯網
上載者:User

 
  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;

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.