• CURSOR


    /*SELECT BEFORE HOSEI*/
    select tafd.*
      from TB_ADV_FEE_DETAIL tafd
     where tafd.Seikyu_Nengetsu = '201405'
       and not exists (select 1
              from tb_seikyu_meisai t
             where t.fee_mgmt_num = tafd.fee_mgmt_num
               and t.fee_mgmt_eda = tafd.fee_mgmt_eda)
       and tafd.seikyu_Shori_Flg = '2'
       and tafd.seikyu_Fuyo_Sign = '0'
       and tafd.gessho_kubun = '2'
       and tafd.moko_kind = '12'
       and tafd.Del_Flg = '0';

    /*HOSEI SQL*/
    CREATE OR REPLACE PROCEDURE SP_TB_SEIKYU_MEISAI IS

      CURSOR c_TB_SEIKYU_MEISAI IS
        select t.seikyu_mgmt_num,
               t.Shohi_Tax_Kubun_Code,
               t.Tax_Kubun,
               t.receipt_num,
               t.Seikyu_Nengetsu,
               t.ksai_sha_code
          from TB_SEIKYU_MEISAI t
         where (t.receipt_num, t.ksai_sha_code) in
               (SELECT tafd.receipt_num, tafd.ksai_sha_code
                  FROM TB_ADV_FEE_DETAIL tafd
                 WHERE tafd.Seikyu_Nengetsu = '201405'
                   AND not exists
                 (select 1
                          from tb_seikyu_meisai t
                         where t.fee_mgmt_num = tafd.fee_mgmt_num
                           and t.fee_mgmt_eda = tafd.fee_mgmt_eda)
                   AND tafd.seikyu_Shori_Flg = '2'
                   AND tafd.seikyu_Fuyo_Sign = '0'
                   AND tafd.gessho_kubun = '2'
                   AND tafd.moko_kind = '12'
                   AND tafd.Del_Flg = '0'
                 group by tafd.receipt_num, tafd.ksai_sha_code)
         group by t.seikyu_mgmt_num,
                  t.Shohi_Tax_Kubun_Code,
                  t.Tax_Kubun,
                  t.receipt_num,
                  t.Seikyu_Nengetsu,
                  t.ksai_sha_code;
      c_row c_TB_SEIKYU_MEISAI%ROWTYPE;

    BEGIN

      FOR c_row IN c_TB_SEIKYU_MEISAI LOOP
      
        insert into TB_SEIKYU_MEISAI
          (Seikyu_Mgmt_Num,
           Seikyu_Detail_Mgmt_Num,
           Seikyu_Nengetsu,
           Atsukai_Sha_Code,
           Ksai_Sha_Code,
           Adv_Sha_Code,
           Shukei_Adv_Baitai_Code,
           Shohi_Tax_Kubun_Code,
           Tax_Kubun,
           Adv_Kind_LCode,
           Adv_Kind_SCode,
           Adv_Kind_MCode,
           Adv_Kind_LName,
           Adv_Kind_MName,
           Adv_Kind_SName,
           Ksai_Hani_LCode,
           Ksai_Hani_MCode,
           Ksai_Hani_SCode,
           Ksai_Hani_LName,
           Ksai_Hani_MName,
           Ksai_Hani_SName,
           KanKind_Code,
           KanKind_Name,
           Tokubetsu_Margin_Kubun,
           Tokubetsu_Margin_Detail_Num,
           Tokubetsu_Margin_Num,
           Adv_Baitai_Bunrui_Code,
           Adv_Baitai_SName,
           Meisai_Sho_Subject,
           Kensu,
           Space_Kind_Code,
           Space_Sign,
           Uti_Space,
           Uti_Space_Sign,
           Kansan_Space,
           Adv_Nushi_Code,
           Adv_Nushi_Name_Ryaku1,
           Irozuri_Code,
           Irozuri_Name,
           Receipt_Num,
           Fee_Mgmt_Num,
           Fee_Mgmt_Eda,
           Seikyu_Fee,
           Ippan_Margin,
           Tokubetsu_Margin,
           Tokubetsu_Margin_Fee,
           Syoumi_Fee,
           Syoumi_Shohi_Tax,
           Ksai_Date,
           Tanto_Bu_Ka_Code,
           Mgmt_Num,
           Detail_Mgmt_Num,
           Input_Date_Time,
           Input_Per_Code,
           Update_Date_Time,
           Update_Per_Code,
           Update_Count,
           Del_Flg,
           Del_Date_Time,
           Del_Per_Code)
        
          select c_row.seikyu_mgmt_num,
                 LPAD(to_char(to_number(seikyu_detail_mgmt_num) + ROWNUM),
                      5,
                      '0') as Shime_Check_Detail_Num,
                 Seikyu_Nengetsu,
                 Atsukai_Sha_Code,
                 Ksai_Sha_Code,
                 Adv_Sha_Code,
                 Shukei_Adv_Baitai_Code,
                 Shohi_Tax_Kubun_Code,
                 Tax_Kubun,
                 Adv_Kind_LCode,
                 Adv_Kind_SCode,
                 Adv_Kind_MCode,
                 Adv_Kind_LName,
                 Adv_Kind_MName,
                 Adv_Kind_SName,
                 Ksai_Hani_LCode,
                 Ksai_Hani_MCode,
                 Ksai_Hani_SCode,
                 Ksai_Hani_LName,
                 Ksai_Hani_MName,
                 Ksai_Hani_SName,
                 KanKind_Code,
                 KanKind_Name,
                 Tokubetsu_Margin_Kubun,
                 Tokubetsu_Margin_Detail_Num,
                 Tokubetsu_Margin_Num,
                 Adv_Baitai_Bunrui_Code,
                 Adv_Baitai_SName,
                 Meisai_Sho_Subject,
                 Kensu,
                 Space_Kind_Code,
                 Space_Sign,
                 Uti_Space,
                 Uti_Space_Sign,
                 Kansan_Space,
                 Adv_Nushi_Code,
                 Adv_Nushi_Name_Ryaku1,
                 Irozuri_Code,
                 Irozuri_Name,
                 Receipt_Num,
                 Fee_Mgmt_Num,
                 Fee_Mgmt_Eda,
                 Seikyu_Fee,
                 Ippan_Margin,
                 Tokubetsu_Margin,
                 Tokubetsu_Margin_Fee,
                 Syoumi_Fee,
                 Syoumi_Shohi_Tax,
                 Ksai_Date,
                 Tanto_Bu_Ka_Code,
                 Mgmt_Num,
                 Detail_Mgmt_Num,
                 Input_Date_Time,
                 Input_Per_Code,
                 Update_Date_Time,
                 Update_Per_Code,
                 Update_Count,
                 Del_Flg,
                 Del_Date_Time,
                 Del_Per_Code
            from (SELECT ROWNUM,
                         (select max(t1.Seikyu_Detail_Mgmt_Num)
                            from TB_SEIKYU_MEISAI t1
                           where t1.Seikyu_Mgmt_Num = c_row.Seikyu_Mgmt_Num) as seikyu_detail_mgmt_num,
                         tafd.Seikyu_Nengetsu,
                         tafd.Atsukai_Sha_Code,
                         tafd.Ksai_Sha_Code,
                         tafd.Adv_Sha_Code,
                         tafd.Shukei_Adv_Baitai_Code,
                         c_row.Shohi_Tax_Kubun_Code as Shohi_Tax_Kubun_Code,
                         c_row.Tax_Kubun as Tax_Kubun,
                         tafd.Adv_Kind_LCode,
                         tafd.Adv_Kind_SCode,
                         tafd.Adv_Kind_MCode,
                         tafd.Adv_Kind_SName,
                         tafd.Adv_Kind_MName,
                         tafd.Adv_Kind_LName,
                         tafd.Ksai_Hani_LCode,
                         tafd.Ksai_Hani_MCode,
                         tafd.Ksai_Hani_SCode,
                         tafd.Ksai_Hani_LName,
                         tafd.Ksai_Hani_MName,
                         tafd.Ksai_Hani_SName,
                         tafd.KanKind_Code,
                         tafd.KanKind_Name,
                         0 as Tokubetsu_Margin_Kubun,
                         null as Tokubetsu_Margin_Detail_Num,
                         null as Tokubetsu_Margin_Num,
                         tafd.Adv_Baitai_Bunrui_Code,
                         tafd.Adv_Baitai_SName,
                         tafd.Meisai_Sho_Subject,
                         1 as Kensu,
                         tafd.Space_Kind_Code,
                         ' ' as Space_Sign,
                         0 as Uti_Space,
                         ' ' as Uti_Space_Sign,
                         tafd.Dan_Kansan_Space as Kansan_Space,
                         tafd.Adv_Nushi_Code,
                         tafd.Adv_Nushi_Name_Ryaku1,
                         tafd.Irozuri_Code,
                         tafd.Irozuri_Name,
                         tafd.Receipt_Num,
                         tafd.Fee_Mgmt_Num,
                         tafd.Fee_Mgmt_Eda,
                         0 as Seikyu_Fee,
                         0 as Tokubetsu_Margin,
                         0 as Tokubetsu_Margin_Fee,
                         0 as Ippan_Margin,
                         0 as Syoumi_Fee,
                         nvl(tafd.Seikyu_Tax, 0) as Syoumi_Shohi_Tax,
                         tafd.Ksai_Date,
                         tafd.Tanto_Bu_Ka_Code,
                         null as Mgmt_Num,
                         null as Detail_Mgmt_Num,
                         sysdate as Input_Date_Time,
                         'M13905' as Input_Per_Code,
                         sysdate as Update_Date_Time,
                         'M13905' as Update_Per_Code,
                         0 as Update_Count,
                         '0' as Del_Flg,
                         null as Del_Date_Time,
                         'founder' as Del_Per_Code
                  
                    FROM TB_ADV_FEE_DETAIL tafd
                  
                   WHERE tafd.Seikyu_Nengetsu = c_row.seikyu_nengetsu
                     AND not exists
                   (select 1
                            from tb_seikyu_meisai t
                           where t.fee_mgmt_num = tafd.fee_mgmt_num
                             and t.fee_mgmt_eda = tafd.fee_mgmt_eda)
                     AND tafd.seikyu_Shori_Flg = '2'
                     AND tafd.seikyu_Fuyo_Sign = '0'
                     AND tafd.gessho_kubun = '2'
                     AND tafd.moko_kind = '12'
                     AND tafd.Del_Flg = '0'
                     AND tafd.Receipt_Num = c_row.Receipt_Num
                     AND tafd.Ksai_Sha_Code = c_row.Ksai_Sha_Code);
      
      END LOOP;
      COMMIT;

    END SP_TB_SEIKYU_MEISAI;

    /*SELECT AFTER HOSEI*/
    select t.*, tafd.*
      from TB_SEIKYU_MEISAI t, TB_ADV_FEE_DETAIL tafd
     where t.fee_mgmt_num = tafd.fee_mgmt_num
       and t.fee_mgmt_eda = tafd.fee_mgmt_eda
       and tafd.Seikyu_Nengetsu = '201405'
       and tafd.seikyu_Shori_Flg = '2'
       and tafd.seikyu_Fuyo_Sign = '0'
       and tafd.gessho_kubun = '2'
       and tafd.moko_kind = '12'
       and tafd.Del_Flg = '0'
       and t.Del_Per_Code = 'founder'
       and t.Del_Flg = '0';

    /*CLEAR HOSEI FLG*/
     update TB_SEIKYU_MEISAI t set t.Del_Per_Code = null
     where t.Del_Per_Code = 'founder'
       and t.Del_Flg = '0';

  • 相关阅读:
    POJ2888 Magic Bracelet [矩阵快速幂+Burnside+欧拉函数]
    数列的 GCD [计数问题]
    com组件的注册
    WCF 传输和接受大数据
    数据库中已存在名为 'View_Business' 的对象。
    windows 两个用户,默认其中一个用户登录
    用C#读取,写入ini文件
    小心得,关于串口
    未能加载文件或程序集"Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad
    无法激活服务,因为它不支持 ASP.NET 兼容性
  • 原文地址:https://www.cnblogs.com/caogang/p/3810794.html
Copyright © 2020-2023  润新知