zoukankan      html  css  js  c++  java
  • 触发器实例(二)

    create or replace trigger TR_T_DWXX
    after delete or update or insert ON T_DWXX
     for each row
    --单位 改变后 修改单位关系表
    declare
      curr_dwdh number:=0 ;
      PRAGMA AUTONOMOUS_TRANSACTION;--开启自治事物
      i number:=0;
    BEGIN
    
      if inserting then
         select t.n_sjdw into curr_dwdh from t_dwxx t where t.n_dwdh=:new.N_SJDW;
         loop -- 循环语句,找出当前节点上面还有几层节点,即分析当前节点是第几级
             exit when curr_dwdh =99999999;--根节点就退出
    
             INSERT INTO T_DWGX (N_DWDH,N_XJDW,N_GXJS)
              values (curr_dwdh,:new.N_DWDH,i);
              i:=i+1;
             select t.n_sjdw into curr_dwdh from t_dwxx t where   t.n_dwdh=curr_dwdh;
         end loop;
         INSERT INTO T_DWGX (N_DWDH,N_XJDW,N_GXJS)
          values (:new.N_SJDW,:new.N_DWDH,i);
      elsif updating then
        delete from T_DWGX where N_XJDW=:old.n_dwdh;
        select t.n_sjdw into curr_dwdh from t_dwxx t where t.n_dwdh=:new.N_SJDW;
        loop --循环语句,找出当前节点上面还有几层节点,即分析当前节点是第几级
             exit when curr_dwdh =99999999;--根节点就退出
              INSERT INTO T_DWGX (N_DWDH,N_XJDW,N_GXJS)
              values (curr_dwdh,:new.N_DWDH,i);
               i:=i+1;
             select t.n_sjdw into curr_dwdh from t_dwxx t where   t.n_dwdh=curr_dwdh;
        end loop;
        INSERT INTO T_DWGX (N_DWDH,N_XJDW,N_GXJS)
          values (:new.N_SJDW,:new.N_DWDH,i);
      elsif deleting then
         delete from T_DWGX where N_XJDW=:old.n_dwdh;
      end if;
    COMMIT;
    END;
  • 相关阅读:
    struts2.1.6存在中文乱码的bug
    记Spring下autowire为name时的一个现象
    AOP注解不起作用的debug结果
    占位
    占位
    Hibernate学习小结
    Struts2学习笔记
    金尚网上商城项目第一章小结
    JavaWeb 学习的第一阶段总结
    大话设计模式 笔记——策略模式
  • 原文地址:https://www.cnblogs.com/mingyue1818/p/3327167.html
Copyright © 2011-2022 走看看