Oracle Trigger 触发器- 不要依赖这里因为你有大脑- JavaEye技术网站
备忘速查:
oracle的update insert delete时的触发器:


CREATE TABLE  t1 (  
         
       tid VARCHAR2(20),   
       tname VARCHAR2(20)  
       )  
 CREATE TABLE logg(  
       n_id VARCHAR2(20),  
       n_name VARCHAR2(10),  
      n_value VARCHAR2(40)  
)  


CREATE OR REPLACE TRIGGER tri_up_del_inser  
BEFORE INSERT OR UPDATE OR DELETE  --insert update delete 触发   
ON t1   
FOR EACH ROW    
DECLARE  
n_tid VARCHAR2(20);   
log_id VARCHAR2(20); --日志id (就是t1表的tid)  
log_value VARCHAR2(40); --日志的value (就是对tname的u d  i )  
log_name VARCHAR2(10); -- 日志的name (INSERT UPDATE DELETE)  
BEGIN  
  
     IF inserting THEN  
        SELECT 'TID'||lpad(substr(nvl(MAX(tid),'TID000'),4,3)+1,3,0) INTO n_tid FROM t1;  
          :NEW.tid := n_tid;    
       log_id :=n_tid;  
       log_name :='INSERT';  
       log_value := :NEW.tname;  
     ELSIF updating THEN  
         log_id :=:OLD.tid;  
         log_name :='UPDATE';  
         log_value := :NEW.tname;  
     ELSIF  deleting  THEN  
           log_id :=:OLD.tid;  
         log_name :='DELETE';  
         log_value := :OLD.tname;  
     END IF;  
       
       INSERT INTO logg  VALUES(log_id,log_name,log_value);  
       
END;  

:new.tid   ---->表示你要新增加的记录的自动编号
:old.tname ----->表示你要删除时的tname

inserting  updating deleting

if inserting   then
elsif  updating then
elsif deleting then
end if;

郑重声明:资讯 【Oracle Trigger 触发器- 不要依赖这里因为你有大脑- JavaEye技术网站】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——