|  
  create or replace trigger emp 
--before 表示對操作前的觸發器 
-- after 表示對操作后的觸發器 
--每張表最多可建立12個觸發器 
--before inset 
--before insert for each row 
--after insert  
--after insert for each row- 
  
 
--before uPdate 
--before uPdate for each row 
--after uPdate  
--after uPdate for each row 
--before uPdate 
--before uPdate for each row 
--after uPdate  
--after uPdate for each row 
--執行的順序是:#1. 執行before語句級的觸發器,對于受語句影響的每一行: 
-- #2. 執行級觸發器,執行DML語句 
--執行after行級的觸發器 
--#3. 執行 after語句級的觸發器 
  before delete on aaa  --刪除操作前aaa表的觸發器 
   
  for each row --對表的每一行觸發器執行一次。如果沒有這一選項,則只對整個表執行一次。 
declare 
begin 
     /*如果插入的任然是aaa表的話,會出現:第 1 行出現錯誤: 
ORA-04091: 表 QUERY.AAA 發生了變化, 觸發器/函數不能讀它 
ORA-06512: 在 "QUERY.EMP", line 4 (QUERY表示user,line表示行數,EMP表示觸發器名稱) 
ORA-04088: 觸發器 'QUERY.EMP' 執行過程中出錯*/ 
  /*將修改前的數據插入到日志表aaa_tmp里去,以供監督使用*/ 
  insert into aaa_tmp(AID,ANAME,PRICE) 
   
  values(:old.AID,:old.ANAME,:old.PRICE);--:old表示原來的數據, 
                                         --:new表示插入的新數據                                    
end emp;  本文出自:億恩科技【www.endtimedelusion.com】 
      
      
		服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM] 
       |