zoukankan      html  css  js  c++  java
  • 用友提供的客商新增trigger|待研究|

    create or replace trigger addCust
      before insert on bd_cubasdoc
      for each row
    declare
      -- local variables here
      pk_bas char(20);
    
      corp char(4);
    
      /*查询目标公司目录*/
      cursor bdcorp is
        select pk_corp
          from ncv5.bd_corp /*目标数据库表*/
         where nvl(dr, 0) = 0
           and pk_corp <> '0001';
      /*查询目标公司是否存在基本档案*/
      cursor basjob(id char) is
        select pk_cubasdoc
          from ncv5.bd_cubasdoc
         where pk_cubasdoc = id
           and nvl(dr, 0) = 0;
    
    begin
    
      /*判断目标公司数据是否存在*/
      /* dbms_output.put_line('aaa');
      select pk_cubasdoc into pk_bas from bd_cubasdoc1\*目标数据库表*\ where pk_cubasdoc=:new.pk_cubasdoc and nvl(dr,0)=0;*/
    
      open basjob(:new.pk_cubasdoc);
    
      loop
    
        fetch basjob
          into pk_bas;
    
        exit when basjob%notfound;
    
      end loop;
      close basjob;
      -- dbms_output.put_line('ddd');
      /*插入目标基本档案数据*/
      if pk_bas is null then
    
        begin
    
          /*--目标基本档案表/*目标数据库表*/
    
          insert into ncv5.bd_cubasdoc
            (pk_cubasdoc,
             pk_corp,
             custcode,
             custname,
             custshortname,
             engname,
             mnecode,
             trade,
             freecustflag,
             drpnodeflag,
             isconnflag,
             pk_cubasdoc1,
             custprop,
             pk_areacl,
             pk_corp1,
             taxpayerid,
             legalbody,
             creditmny,
             ecotypesincevfive,
             saleaddr,
             conaddr,
             zipcode,
             phone1,
             phone2,
             phone3,
             fax1,
             fax2,
             linkman1,
             linkman2,
             linkman3,
             bp1,
             bp2,
             bp3,
             mobilephone1,
             mobilephone2,
             mobilephone3,
             email,
             url,
             def1,
             def2,
             def3,
             def4,
             def5,
             def6,
             def7,
             def8,
             def9,
             def10,
             def11,
             def12,
             def13,
             def14,
             def15,
             def16,
             def17,
             def18,
             def19,
             def20,
             registerfund,
             sealflag,
             memo,
             pk_pricegroup,
             correspondunit,
             ts,
             dr)
          values
            (:new.pk_cubasdoc,
             :new.pk_corp,
             :new.custcode,
             :new.custname,
             :new.custshortname,
             :new.engname,
             :new.mnecode,
             :new.trade,
             :new.freecustflag,
             :new.drpnodeflag,
             :new.isconnflag,
             :new.pk_cubasdoc1,
             :new.custprop,
             :new.pk_areacl,
             :new.pk_corp1,
             :new.taxpayerid,
             :new.legalbody,
             :new.creditmny,
             :new.ecotypesincevfive,
             :new.saleaddr,
             :new.conaddr,
             :new.zipcode,
             :new.phone1,
             :new.phone2,
             :new.phone3,
             :new.fax1,
             :new.fax2,
             :new.linkman1,
             :new.linkman2,
             :new.linkman3,
             :new.bp1,
             :new.bp2,
             :new.bp3,
             :new.mobilephone1,
             :new.mobilephone2,
             :new.mobilephone3,
             :new.email,
             :new.url,
             :new.def1,
             :new.def2,
             :new.def3,
             :new.def4,
             :new.def5,
             :new.def6,
             :new.def7,
             :new.def8,
             :new.def9,
             :new.def10,
             :new.def11,
             :new.def12,
             :new.def13,
             :new.def14,
             :new.def15,
             :new.def16,
             :new.def17,
             :new.def18,
             :new.def19,
             :new.def20,
             :new.registerfund,
             :new.sealflag,
             :new.memo,
             :new.pk_pricegroup,
             :new.correspondunit,
             :new.ts,
             :new.dr);
          --dbms_output.put_line('ccc');
                /*插入目标管理档案数据*/
          open bdcorp;
          loop
          
            fetch bdcorp
              into corp;
            exit when bdcorp%notfound;
          
            --  dbms_output.put_line(:new.pk_cubasdoc);
            /*管理档案有两条数据,插入两次*/
            insert into ncv5.bd_cumandoc /*目标数据库表*/
              (pk_cumandoc,
               pk_corp,
               pk_cubasdoc,
               custflag,
               linkman,
               bp,
               mobilephone,
               pk_defbusitype,
               frozenflag,
               frozendate,
               discountrate,
               creditlevel,
               creditmny,
               creditlimitnum,
               accawmny,
               busawmny,
               ordawmny,
               pk_respdept1,
               pk_resppsn1,
               diffcurrflag,
               developdate,
               credlimitflag,
               pk_currtype1,
               pk_cusmandoc2,
               pk_cusmandoc3,
               pk_sendtype,
               pk_stordoc2,
               def1,
               def2,
               def3,
               def4,
               def5,
               def6,
               def7,
               def8,
               def9,
               def10,
               def11,
               def12,
               def13,
               def14,
               def15,
               def16,
               def17,
               def18,
               def19,
               def20,
               def21,
               def22,
               def23,
               def24,
               def25,
               def26,
               def27,
               def28,
               def29,
               def30,
               memo,
               pk_payterm,
               cooperateflag,
               creditmoney,
               testsalemoney,
               pk_salestru,
               pk_calbody,
               iounit,
               ratifydate,
               sealflag,
               custstate,
               pk_pricegroupcorp,
               freeofcremnycheck,
               freeofacclmtcheck,
               balancemny,
               acclimit,
               acclmtbegindate,
               cmnecode,
               grade,
               cooperatingdayfrom,
               cooperatingdayto,
               correspsettleunit,
               pk_settleunit,
               innerctldays,
               ispromtesettlement,
               stockpriceratio,
               ts,
               dr)
            values
              ('A100' ||corp|| substr(:new.pk_cubasdoc,9, 20),
               corp /*公司*/,
               :new.pk_cubasdoc,
               '2',
               null,
               null,
               null,
               null,
               'N',
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               'N',
               null,
               0,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               'N',
               null,
               null,
               null,
               null,
               'N',
               null,
               null,
               0,
               null,
               'N',
               'N',
               null,
               30,
               null,
               null,
               0,
               null,
               null,
               null,
               null,
               null,
               'Y',
               100,
               sysdate,
               0);
          
            insert into ncv5.bd_cumandoc /*目标数据库表*/
              (pk_cumandoc,
               pk_corp,
               pk_cubasdoc,
               custflag,
               linkman,
               bp,
               mobilephone,
               pk_defbusitype,
               frozenflag,
               frozendate,
               discountrate,
               creditlevel,
               creditmny,
               creditlimitnum,
               accawmny,
               busawmny,
               ordawmny,
               pk_respdept1,
               pk_resppsn1,
               diffcurrflag,
               developdate,
               credlimitflag,
               pk_currtype1,
               pk_cusmandoc2,
               pk_cusmandoc3,
               pk_sendtype,
               pk_stordoc2,
               def1,
               def2,
               def3,
               def4,
               def5,
               def6,
               def7,
               def8,
               def9,
               def10,
               def11,
               def12,
               def13,
               def14,
               def15,
               def16,
               def17,
               def18,
               def19,
               def20,
               def21,
               def22,
               def23,
               def24,
               def25,
               def26,
               def27,
               def28,
               def29,
               def30,
               memo,
               pk_payterm,
               cooperateflag,
               creditmoney,
               testsalemoney,
               pk_salestru,
               pk_calbody,
               iounit,
               ratifydate,
               sealflag,
               custstate,
               pk_pricegroupcorp,
               freeofcremnycheck,
               freeofacclmtcheck,
               balancemny,
               acclimit,
               acclmtbegindate,
               cmnecode,
               grade,
               cooperatingdayfrom,
               cooperatingdayto,
               correspsettleunit,
               pk_settleunit,
               innerctldays,
               ispromtesettlement,
               stockpriceratio,
               ts,
               dr)
            values
              ('A200' ||corp|| substr(:new.pk_cubasdoc,9,20),
               corp /*公司*/,
               :new.pk_cubasdoc,
               '3',
               null,
               null,
               null,
               null,
               'N',
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               'N',
               null,
               0,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               null,
               'N',
               null,
               null,
               null,
               null,
               'N',
               null,
               null,
               0,
               null,
               'N',
               'N',
               null,
               30,
               null,
               :new.mnecode,
               0,
               null,
               null,
               null,
               null,
               null,
               'Y',
               100,
               sysdate,
               0);
          end loop;
          close bdcorp;
        end;
      end if;
    
    end addcust;
  • 相关阅读:
    Android MediaRecorder实现暂停断点录音功能
    Sqlite 数据库分页查询(ListView分页显示数据)
    Android 一键直接查看Sqlite数据库数据
    Android setTag()/getTag()
    sqlite3常用命令&语法
    Android 编辑框插入表情图片
    奇怪++操作
    hdu5024(dp)
    Windows Azure VM两shut down 道路
    android简单的计算器
  • 原文地址:https://www.cnblogs.com/sumsen/p/2525731.html
Copyright © 2011-2022 走看看