• 晕了


    /*
    doc dtl start
    */
    CREATE TABLE temp_table AS
    SELECT doc_data.doc_dtl_id temp_doc_dtl_id,charge_data.storage_from_date temp_from_date,charge_data.storage_to_date temp_to_date
    FROM nbis_doc_dtl_data doc_data,nbis_doc_dtl doc_dtl,nbis_charge_dtl charge_dtl,nbis_charge_data charge_data
    WHERE doc_data.doc_dtl_id = doc_dtl.id
    AND doc_data.charge_reference_id = charge_dtl.id
    AND charge_dtl.charge_data_id = charge_data.id
    AND doc_dtl.storage_from_date_cal IS NULL
    AND doc_dtl.storage_to_date_cal IS NULL
    AND charge_data.storage_from_date IS NOT NULL
    AND charge_data.storage_to_date IS NOT NULL;


    INSERT INTO temp_table SELECT doc_data.doc_dtl_id temp_doc_dtl_id,charge_dtl.from_date temp_from_date,charge_dtl.to_date temp_to_date
    FROM nbis_doc_dtl_data doc_data,nbis_doc_dtl doc_dtl,nbis_man_charge_dtl charge_dtl
    WHERE doc_data.doc_dtl_id = doc_dtl.id
    AND doc_data.manual_charge_reference_id = charge_dtl.id
    AND doc_dtl.storage_from_date_cal IS NULL
    AND doc_dtl.storage_to_date_cal IS NULL
    AND charge_dtl.from_date IS NOT NULL
    AND charge_dtl.to_date IS NOT NULL;

    INSERT INTO temp_table SELECT doc_dtl.id temp_doc_dtl_id,charge_data.storage_from_date temp_from_date,charge_data.storage_to_date temp_to_date
    FROM nbis_doc_dtl doc_dtl,nbis_doc_dtl_data doc_data,nbis_man_charge_dtl man_charge_dtl
    ,nbis_man_charge_dtl_data man_charge_dtl_data,nbis_charge_dtl charge_dtl,nbis_charge_data charge_data
    WHERE doc_data.doc_dtl_id = doc_dtl.id
    AND doc_data.manual_charge_reference_id = man_charge_dtl.id
    AND man_charge_dtl_data.manual_charge_dtl_id = man_charge_dtl.id
    AND man_charge_dtl_data.charge_reference_id = charge_dtl.id
    AND charge_dtl.charge_data_id = charge_data.id
    AND doc_dtl.storage_from_date_cal IS NULL
    AND doc_dtl.storage_to_date_cal IS NULL
    AND charge_data.storage_from_date IS NOT NULL
    AND charge_data.storage_to_date IS NOT NULL;

    INSERT INTO temp_table SELECT doc_dtl.id temp_doc_dtl_id,charge_data.storage_from_date temp_from_date,charge_data.storage_to_date temp_to_date
    FROM nbis_doc_dtl doc_dtl,nbis_doc_dtl_data doc_data,nbis_credit_charge_dtl cre_charge_dtl
    ,nbis_credit_charge_dtl_data cre_charge_dtl_data,nbis_charge_dtl charge_dtl,nbis_charge_data charge_data
    WHERE doc_data.doc_dtl_id = doc_dtl.id
    AND doc_data.credit_charge_reference_id = cre_charge_dtl.id
    AND cre_charge_dtl_data.credit_charge_dtl_id = cre_charge_dtl.id
    AND cre_charge_dtl_data.charge_reference_id = charge_dtl.id
    AND doc_dtl.storage_from_date_cal IS NULL
    AND doc_dtl.storage_to_date_cal IS NULL
    AND charge_data.storage_from_date IS NOT NULL
    AND charge_data.storage_to_date IS NOT NULL;

    INSERT INTO temp_table SELECT doc_dtl.id temp_doc_dtl_id,charge_dtl.from_date temp_from_date,charge_dtl.to_date temp_to_date
    FROM nbis_doc_dtl doc_dtl,nbis_doc_dtl_data doc_data,nbis_man_charge_dtl man_charge_dtl
    ,nbis_man_charge_dtl_data man_charge_dtl_data,nbis_man_charge_dtl charge_dtl
    WHERE doc_data.doc_dtl_id = doc_dtl.id
    AND doc_data.manual_charge_reference_id = man_charge_dtl.id
    AND man_charge_dtl_data.manual_charge_dtl_id = man_charge_dtl.id
    AND man_charge_dtl_data.manual_charge_reference_id = charge_dtl.id
    AND doc_dtl.storage_from_date_cal IS NULL
    AND doc_dtl.storage_to_date_cal IS NULL
    AND charge_dtl.from_date IS NOT NULL
    AND charge_dtl.to_date IS NOT NULL;

    INSERT INTO temp_table SELECT doc_dtl.id temp_doc_dtl_id,charge_dtl.from_date temp_from_date,charge_dtl.to_date temp_to_date
    FROM nbis_doc_dtl doc_dtl,nbis_doc_dtl_data doc_data,nbis_credit_charge_dtl cre_charge_dtl
    ,nbis_credit_charge_dtl_data cre_charge_dtl_data,nbis_man_charge_dtl charge_dtl
    WHERE doc_data.doc_dtl_id = doc_dtl.id
    AND doc_data.credit_charge_reference_id = cre_charge_dtl.id
    AND cre_charge_dtl_data.credit_charge_dtl_id = cre_charge_dtl.id
    AND cre_charge_dtl_data.manual_charge_reference_id = charge_dtl.id
    AND doc_dtl.storage_from_date_cal IS NULL
    AND doc_dtl.storage_to_date_cal IS NULL
    AND charge_dtl.from_date IS NOT NULL
    AND charge_dtl.to_date IS NOT NULL;

    INSERT INTO temp_table SELECT doc_dtl.id temp_doc_dtl_id,recal_doc_dtl.from_date temp_from_date,recal_doc_dtl.to_date temp_to_date
    FROM nbis_doc_dtl doc_dtl,nbis_doc_dtl_data doc_data,nbis_man_charge_dtl man_charge_dtl
    ,nbis_man_charge_dtl_data man_charge_dtl_data,
    nbis_recal_doc_dtl_data recal_doc_dtl_data,nbis_recal_doc_dtl recal_doc_dtl
    WHERE doc_data.doc_dtl_id = doc_dtl.id
    AND doc_data.manual_charge_reference_id = man_charge_dtl.id
    AND man_charge_dtl_data.manual_charge_dtl_id = man_charge_dtl.id
    AND recal_doc_dtl_data.manual_charge_data_dtl_gen_id = man_charge_dtl_data.id
    AND recal_doc_dtl.id = recal_doc_dtl_data.recal_doc_dtl_id
    AND doc_dtl.storage_from_date_cal IS NULL
    AND doc_dtl.storage_to_date_cal IS NULL
    AND recal_doc_dtl.from_date IS NOT NULL
    AND recal_doc_dtl.to_date IS NOT NULL;

    INSERT INTO temp_table SELECT doc_dtl.id temp_doc_dtl_id,recal_doc_dtl.from_date temp_from_date,recal_doc_dtl.to_date temp_to_date
    FROM nbis_doc_dtl doc_dtl,nbis_doc_dtl_data doc_data,nbis_credit_charge_dtl cre_charge_dtl
    ,nbis_credit_charge_dtl_data cre_charge_dtl_data,
    nbis_recal_doc_dtl_data recal_doc_dtl_data,nbis_recal_doc_dtl recal_doc_dtl
    WHERE doc_data.doc_dtl_id = doc_dtl.id
    AND doc_data.credit_charge_reference_id = cre_charge_dtl.id
    AND cre_charge_dtl_data.credit_charge_dtl_id = cre_charge_dtl.id
    AND recal_doc_dtl_data.credit_chrage_data_dtl_gen_id = cre_charge_dtl_data.id
    AND recal_doc_dtl.id = recal_doc_dtl_data.recal_doc_dtl_id
    AND doc_dtl.storage_from_date_cal IS NULL
    AND doc_dtl.storage_to_date_cal IS NULL
    AND recal_doc_dtl.from_date IS NOT NULL
    AND recal_doc_dtl.to_date IS NOT NULL;


    UPDATE nbis_doc_dtl dtl
    SET (dtl.storage_from_date_cal,dtl.storage_to_date_cal) =
    (SELECT DISTINCT temp.temp_from_date,temp.temp_to_date FROM temp_table temp WHERE dtl.id = temp.temp_doc_dtl_id)
    WHERE dtl.storage_from_date_cal IS NULL
    AND dtl.storage_to_date_cal IS NULL;

    UPDATE nbis_doc_dtl_adj dtl_adj
    SET (dtl_adj.tier_from_date,dtl_adj.tier_to_date) =
    (SELECT DISTINCT temp.temp_from_date,temp.temp_to_date FROM temp_table temp WHERE dtl_adj.doc_dtl_id = temp.temp_doc_dtl_id)
    WHERE dtl_adj.tier_from_date IS NULL
    AND dtl_adj.tier_to_date IS NULL;

    DROP TABLE temp_table;
    /*
    doc end
    */

    /*
    recal start
    */
    UPDATE nbis_recal_doc_dtl dtl SET (storage_from_date_cal,storage_to_date_cal) = (
    SELECT DISTINCT doc_dtl.storage_from_date_cal,doc_dtl.storage_to_date_cal
    FROM nbis_recal_doc_dtl recal_dtl,nbis_doc_dtl doc_dtl
    WHERE recal_dtl.id = doc_dtl.recal_doc_dtl_id
    AND recal_dtl.storage_from_date_cal IS NULL
    AND recal_dtl.storage_to_date_cal IS NULL
    AND doc_dtl.storage_from_date_cal IS NOT NULL
    AND doc_dtl.storage_to_date_cal IS NOT NULL
    AND recal_dtl.id = dtl.id
    )
    WHERE dtl.storage_from_date_cal IS NULL
    AND dtl.storage_to_date_cal IS NULL;

    UPDATE nbis_recal_doc_dtl_adj recal_adj SET(recal_adj.tier_from_date,recal_adj.tier_to_date) = (
    SELECT DISTINCT recal_dtl.storage_from_date_cal,recal_dtl.storage_to_date_cal
    FROM nbis_recal_doc_dtl recal_dtl
    WHERE recal_dtl.storage_from_date_cal IS NOT NULL
    AND recal_dtl.storage_to_date_cal IS NOT NULL
    AND recal_adj.recal_doc_dtl_id = recal_dtl.id
    )
    WHERE recal_adj.tier_from_date IS NULL
    AND recal_adj.tier_to_date IS NULL;

    /*
    recal end
    */


    /*
    credit charge start
    */
    CREATE TABLE temp_credit_table AS
    SELECT cre_dtl.id temp_cre_dtl_id,charge_data.storage_from_date temp_from_date,charge_data.storage_to_date temp_to_date
    FROM nbis_credit_charge_dtl cre_dtl,nbis_credit_charge_dtl_data cre_data,
    nbis_charge_dtl charge_dtl,nbis_charge_data charge_data
    WHERE cre_dtl.id = cre_data.credit_charge_dtl_id
    AND cre_data.charge_reference_id = charge_dtl.id
    AND charge_dtl.charge_data_id = charge_data.id
    AND cre_dtl.storage_from_date_cal IS NULL
    AND cre_dtl.storage_to_date_cal IS NULL
    AND charge_data.storage_from_date IS NOT NULL
    AND charge_data.storage_to_date IS NOT NULL;

    INSERT INTO temp_credit_table SELECT cre_dtl.id temp_cre_dtl_id,man_charge_dtl.from_date temp_from_date,man_charge_dtl.to_date temp_to_date
    FROM nbis_credit_charge_dtl cre_dtl,nbis_credit_charge_dtl_data cre_data,nbis_man_charge_dtl man_charge_dtl
    WHERE cre_dtl.id = cre_data.credit_charge_dtl_id
    AND cre_data.manual_charge_reference_id = man_charge_dtl.id
    AND cre_dtl.storage_from_date_cal IS NULL
    AND cre_dtl.storage_to_date_cal IS NULL
    AND man_charge_dtl.from_date IS NOT NULL
    AND man_charge_dtl.to_date IS NOT NULL;

    INSERT INTO temp_credit_table SELECT cre_dtl.id temp_cre_dtl_id,recal_doc_dtl.from_date temp_from_date,recal_doc_dtl.to_date temp_to_date
    FROM nbis_credit_charge_dtl cre_dtl,nbis_credit_charge_dtl_data cre_data,
    nbis_recal_doc_dtl_data recal_doc_dtl_data,nbis_recal_doc_dtl recal_doc_dtl
    WHERE cre_dtl.id = cre_data.credit_charge_dtl_id
    AND recal_doc_dtl_data.credit_chrage_data_dtl_gen_id = cre_data.id
    AND recal_doc_dtl.id = recal_doc_dtl_data.recal_doc_dtl_id
    AND cre_dtl.storage_from_date_cal IS NULL
    AND cre_dtl.storage_to_date_cal IS NULL
    AND recal_doc_dtl.from_date IS NOT NULL
    AND recal_doc_dtl.to_date IS NOT NULL;


    INSERT INTO temp_credit_table SELECT cre_dtl.id temp_cre_dtl_id,doc_dtl.from_date temp_from_date,doc_dtl.to_date temp_to_date
    FROM nbis_credit_charge_dtl cre_dtl,nbis_credit_charge_dtl_data cre_data,nbis_doc_dtl doc_dtl
    WHERE cre_dtl.id = cre_data.credit_charge_dtl_id
    AND cre_data.doc_dtl_id = doc_dtl.id
    AND cre_dtl.storage_from_date_cal IS NULL
    AND cre_dtl.storage_to_date_cal IS NULL
    AND doc_dtl.from_date IS NOT NULL
    AND doc_dtl.to_date IS NOT NULL;


    UPDATE nbis_credit_charge_dtl dtl
    SET (dtl.storage_from_date_cal,dtl.storage_to_date_cal) =
    (SELECT DISTINCT temp.temp_from_date,temp.temp_to_date FROM temp_credit_table temp WHERE dtl.id = temp.temp_cre_dtl_id)
    WHERE dtl.storage_from_date_cal IS NULL
    AND dtl.storage_to_date_cal IS NULL;

    UPDATE nbis_credit_charge_dtl_adj dtl_adj
    SET (dtl_adj.tier_from_date,dtl_adj.tier_to_date) =
    (SELECT DISTINCT temp.temp_from_date,temp.temp_to_date FROM temp_credit_table temp WHERE dtl_adj.credit_charge_dtl_id = temp.temp_cre_dtl_id)
    WHERE dtl_adj.tier_from_date IS NULL
    AND dtl_adj.tier_to_date IS NULL;

    DROP TABLE temp_credit_table;

    /*
    credit charge end
    */

    /*

    manual charge start

    */
    CREATE TABLE temp_manual_table AS
    SELECT man_charge_dtl.id temp_man_dtl_id,charge_data.storage_from_date temp_from_date,charge_data.storage_to_date temp_to_date
    FROM nbis_man_charge_dtl man_charge_dtl,nbis_man_charge_dtl_data man_charge_data,nbis_man_charge_hdr man_charge_hdr,
    nbis_charge_dtl charge_dtl,nbis_charge_data charge_data
    WHERE man_charge_hdr.id = man_charge_dtl.man_charge_hdr_id
    AND man_charge_dtl.id = man_charge_data.manual_charge_dtl_id
    AND man_charge_data.charge_reference_id = charge_dtl.id
    AND charge_dtl.charge_data_id = charge_data.id
    AND man_charge_hdr.charge_cat = 'SP'
    AND man_charge_dtl.storage_from_date_cal IS NULL
    AND man_charge_dtl.storage_to_date_cal IS NULL
    AND charge_data.storage_from_date IS NOT NULL
    AND charge_data.storage_to_date IS NOT NULL;


    INSERT INTO temp_manual_table SELECT man_charge_dtl.id temp_man_dtl_id,ref_man_charge_dtl.from_date temp_from_date,ref_man_charge_dtl.to_date temp_to_date
    FROM nbis_man_charge_dtl man_charge_dtl,nbis_man_charge_dtl_data man_charge_data,nbis_man_charge_hdr man_charge_hdr,
    nbis_man_charge_dtl ref_man_charge_dtl
    WHERE man_charge_hdr.id = man_charge_dtl.man_charge_hdr_id
    AND man_charge_dtl.id = man_charge_data.manual_charge_dtl_id
    AND man_charge_data.manual_charge_reference_id = ref_man_charge_dtl.id
    AND man_charge_hdr.charge_cat = 'SP'
    AND man_charge_dtl.storage_from_date_cal IS NULL
    AND man_charge_dtl.storage_to_date_cal IS NULL
    AND ref_man_charge_dtl.from_date IS NOT NULL
    AND ref_man_charge_dtl.to_date IS NOT NULL;

    INSERT INTO temp_manual_table SELECT man_charge_dtl.id temp_man_dtl_id,from_date temp_from_date,to_date temp_to_date
    FROM nbis_man_charge_dtl man_charge_dtl,nbis_man_charge_hdr man_charge_hdr
    WHERE man_charge_hdr.id = man_charge_dtl.man_charge_hdr_id
    AND man_charge_hdr.charge_cat = 'MC'
    AND storage_from_date_cal IS NULL
    AND storage_to_date_cal IS NULL
    AND from_date IS NOT NULL
    AND to_date IS NOT NULL;

    UPDATE nbis_man_charge_dtl dtl
    SET (dtl.storage_from_date_cal,dtl.storage_to_date_cal) =
    (SELECT DISTINCT temp.temp_from_date,temp.temp_to_date FROM temp_manual_table temp WHERE dtl.id = temp.temp_man_dtl_id)
    WHERE dtl.storage_from_date_cal IS NULL
    AND dtl.storage_to_date_cal IS NULL;

    UPDATE nbis_man_charge_dtl_adj dtl_adj
    SET (dtl_adj.tier_from_date,dtl_adj.tier_to_date) =
    (SELECT DISTINCT temp.temp_from_date,temp.temp_to_date FROM temp_manual_table temp WHERE dtl_adj.man_charge_dtl_id = temp.temp_man_dtl_id)
    WHERE dtl_adj.tier_from_date IS NULL
    AND dtl_adj.tier_to_date IS NULL;

    DROP TABLE temp_manual_table;

    /*

    manual charge end

    */

  • 相关阅读:
    C#0004--打开和保存文本文件
    C#0003--如何使用树状视图控件
    C#0002--信息提示框的使用
    C#0001--如何使用错误提醒控件
    使用C#创建简单的联系人备忘录
    SharePoint站点图片轮转器imageRotator
    优秀的代码的设计和组织架构
    思考:为什么每一种开发语言的语法都是不一样的呢(语法设置的不一样的出发点是基于什么考虑)?如果设置成一样有什么不可行的吗?
    分析一个突发问题的思考方法
    思考:架构师的前瞻性能力
  • 原文地址:https://www.cnblogs.com/shouwangzhe-/p/3696610.html
Copyright © 2020-2023  润新知