PL/SQL存儲過程-中國電力基本檔案存儲功能-僅供參考

来源:http://www.cnblogs.com/Jepson1218/archive/2016/02/02/5178761.html
-Advertisement-
Play Games

CREATE OR REPLACE PACKAGE BODY BASE_INFO AS PROCEDURE insert_lapc(lapc In lapc_array) AS v_max number; v_result number; v_status number; BEGIN delete


CREATE OR REPLACE PACKAGE BODY BASE_INFO AS   PROCEDURE insert_lapc(lapc In lapc_array) AS     v_max number;     v_result number;     v_status number;   BEGIN     delete from TMP_LAPC;     v_result := -10;     --數據插入臨時表     FOR i IN lapc.FIRST .. lapc.LAST LOOP       BEGIN         insert into tmp_lapc           (lapc_id,            customer_id,            lapc_name,            sort,            lapc_addr,            tel,            cons_sort_code,            ms_mode,            trade_code,            volt_code,            lode_attr_code,            contract_cap,            status_code,            vip_code,            line_id,            powersupplyofficeid,            townid)         values           (lapc(i).lapc_id,            lapc(i).customer_id,            lapc(i).lapc_name,            lapc(i).sort,            lapc(i).lapc_addr,            lapc(i).tel,            lapc(i).cons_sort_code,            lapc(i).ms_mode,            lapc(i).trade_code,            lapc(i).volt_code,            lapc(i).lode_attr_code,            lapc(i).contract_cap,            lapc(i).status_code,            lapc(i).vip_code,            lapc(i).line_id,            lapc(i).powersupplyofficeid,            lapc(i).townid);       END;     END LOOP;     v_result := -20;     --代碼轉換     update tmp_lapc a        set a.line_id_new =            (select b.line_id               from g_line b              where a.line_id = b.guid                and rownum = 1);     update tmp_lapc a        set a.townid_new =            (select b.org_no               from O_ORG b              where a.townid = b.guid                and rownum = 1);     update tmp_lapc a        set a.group_id =            (select b.org_no               from O_ORG b              where a.powersupplyofficeid = b.guid                and rownum = 1);     update tmp_lapc a        set a.consid =            (select b.cons_id               from C_CONS b              where a.lapc_id = b.guid                and rownum = 1);     v_result := -30;     -- delete from tmp_lapc a where a.townid_new is null;     -- delete from tmp_lapc a where a.line_id_new is null;     --更新正式表     update C_CONS a        set (a.cons_id,             a.cons_name,             a.cons_no,             a.cons_addr,             a.tel1,             a.CONS_SORT_CODE,             a.meas_mode,             a.trade_code,             a.volt_code,             a.lode_attr_code,             a.contract_cap,             a.status_code,             a.vip_code,             a.line_id,             a.org_no,             a.area_code,             a.savedatetime,             a.power_type_code) =            (select b.consid,                    b.lapc_name,                    b.customer_id,                    b.lapc_addr,                    b.tel,                    '01',                    b.MS_MODE,                    b.trade_code,                    b.volt_code,                    b.lode_attr_code,                    b.contract_cap,                    b.status_code,                    b.vip_code,                    b.line_id_new,                    b.group_id,                    b.townid_new,                    sysdate,                    b.cons_sort_code               from tmp_lapc b              where a.cons_id = b.consid                and rownum = 1)      where exists (select 1 from tmp_lapc b where a.cons_id = b.consid);     v_result := -40;     --刪除更新完的數據     delete from tmp_lapc a where a.consid is not null;     --插入正式表(只支持單線程)     select nvl(max(cons_id), 0) into v_max from c_cons;     insert into c_cons a       (a.cons_id,        a.cons_name,        a.cons_no,        a.cons_addr,        a.tel1,        a.CONS_SORT_CODE,        a.meas_mode,        a.trade_code,        a.volt_code,        a.lode_attr_code,        a.contract_cap,        a.status_code,        a.vip_code,        a.line_id,        a.org_no,        a.area_code,        a.guid,        a.savedatetime)       select v_max + rownum,              b.lapc_name,              b.customer_id,              b.lapc_addr,              b.tel,              b.cons_sort_code,              b.MS_MODE,              b.trade_code,              b.volt_code,              b.lode_attr_code,              b.contract_cap,              b.status_code,              b.vip_code,              b.line_id_new,              b.group_id,              b.townid_new,              b.lapc_id,              sysdate         from tmp_lapc b;     commit;   EXCEPTION     WHEN OTHERS THEN       begin         ROLLBACK;         v_status := ERROR_LOG(v_result, SQLCODE, SQLERRM, 'insert_lapc');       end;   END insert_lapc;     PROCEDURE insert_amsm(amsm In amsm_array) AS     v_max number;     v_result number;     v_status number;   BEGIN     delete from TMP_AMSM;     --數據插入臨時表     v_result := -10;     FOR i IN amsm.FIRST .. amsm.LAST LOOP       BEGIN         insert into tmp_amsm           (mped_id,            mped_name,            volt_code,            cons_id,            tgid,            subs_id,            mp_type,            trade_code,            side_code,            switch_no,            total_flag,            meas_mode,            wiring_mode,            m_mped_id,            status_code,            pt_value,            ct_value,            t_factor,            mp_calc_mode,            cons_mp_calc_mode,            powersupplyofficeid,            groupid)         values           (amsm(i).mped_id,            amsm(i) . mped_name,            amsm(i).volt_code,            amsm(i).cons_id,            amsm(i).tgid,            amsm(i).subs_id,            decode(amsm(i).mp_type,'02','03','03','02',amsm(i).mp_type),            amsm(i).trade_code,            amsm(i).side_code,            amsm(i).switch_no,            amsm(i).total_flag,            amsm(i).meas_mode,            amsm(i).wiring_mode,            amsm(i).m_mped_id,            amsm(i).status_code,            amsm(i).pt_value,            amsm(i).ct_value,            amsm(i).t_factor,            amsm(i).mp_calc_mode,            amsm(i).cons_mp_calc_mode,            amsm(i).powersupplyofficeid,            amsm(i).groupid);       END;     END LOOP;     --代碼轉換     v_result := -20;     update tmp_amsm a        set a.SUBS_ID_NEW =            (select b.subs_id               from g_subs b              where b.guid = a.subs_id                and rownum = 1);       update tmp_amsm a        set a.mped_id_new =            (select b.mped_id               from p_mped b              where b.guid = a.mped_id                and rownum = 1);       update tmp_amsm a        set a.m_mped_id_new =            (select b.mped_id               from p_mped b              where b.guid = a.m_mped_id                and rownum = 1);       update tmp_amsm a        set a.org_no =            (select b.org_no               from o_org b              where b.guid = a.powersupplyofficeid                and rownum = 1);     update tmp_amsm a        set a.area_code =            (select b.org_no               from o_org b              where b.guid = a.groupid                and rownum = 1);       update tmp_amsm a        set a.cons_id_new =            (select b.cons_id               from c_cons b              where b.guid = a.cons_id                and rownum = 1);     v_result := -30;     --更新正式表     update P_MPED a        set (MPED_NAME,             CT_VALUE,             PT_VALUE,             M_MPED_ID,             VOLT_TYPE,             SIDE_CODE,             SUBS_ID,             STATUS_CODE,             CONS_ID,             MP_TYPE,             TRADE_CODE,             SWITCH_NO,             MAIN_FLAG,             MEAS_MODE,             WIRING_MODE,             MP_CALC_MODE,             MP_CALC_TYPE,             ORG_NO,             AREA_CODE,             SAVEDATETIME,             Mped_Prop) =            (select b.mped_name,                    b.ct_value,                    b.pt_value,                    b.m_mped_id_new,                    b.volt_code,                    b.side_code,                    b.subs_id_new,                    b.status_code,                    b.cons_id_new,                    b.mp_type,                    b.trade_code,                    b.switch_no,                    b.total_flag,                    b.meas_mode,                    b.wiring_mode,                    b.mp_calc_mode,                    b.CONS_MP_CALC_MODE,                    b.org_no,                    b.area_code,                    sysdate,                    '02'               from tmp_amsm b              where a.mped_id = b.mped_id_new                and rownum = 1)      where exists      (select 1 from tmp_amsm b where a.mped_id = b.mped_id_new);     --刪除更新完的數據     v_result := -40;     delete from tmp_amsm a where a.mped_id_new is not null;     --插入正式表(只支持單線程)     select nvl(max(a.mped_id), 0) into v_max from p_mped a;     insert into P_MPED a       (MPED_ID,        MPED_NAME,        CT_VALUE,        PT_VALUE,        M_MPED_ID,        VOLT_TYPE,        SIDE_CODE,        SUBS_ID,        STATUS_CODE,        CONS_ID,        MP_TYPE,        TRADE_CODE,        SWITCH_NO,        MAIN_FLAG,        MEAS_MODE,        WIRING_MODE,        MP_CALC_MODE,        MP_CALC_TYPE,        ORG_NO,        AREA_CODE,        SAVEDATETIME,        guid,        Mped_Prop)       select v_max + rownum,              b.mped_name,              b.ct_value,              b.pt_value,              b.m_mped_id_new,              b.volt_code,              b.side_code,              b.subs_id_new,              b.status_code,              b.cons_id_new,              b.mp_type,              b.trade_code,              b.switch_no,              b.total_flag,              b.meas_mode,              b.wiring_mode,              b.mp_calc_mode,              b.CONS_MP_CALC_MODE,              b.org_no,              b.area_code,              sysdate,              b.mped_id,              '02'         from tmp_amsm b;       commit;   EXCEPTION     WHEN OTHERS THEN       begin         ROLLBACK;         v_status := ERROR_LOG(v_result, SQLCODE, SQLERRM, 'insert_amsm');       end;   END insert_amsm;     PROCEDURE insert_amso(amso In amso_array) AS     v_max number;     v_result number;     v_status number;   BEGIN     delete from TMP_AMSO;     v_result := -10;     --數據插入臨時表     FOR i IN amso.FIRST .. amso.LAST LOOP       BEGIN         insert into TMP_AMSO           (POWERSUPPLYOFFICEID, POWERSUPPLYOFFICENAME, COUNTYID)         values           (amso(i).POWERSUPPLYOFFICEID,            amso(i).POWERSUPPLYOFFICENAME,            amso(i).COUNTYID);       END;     END LOOP;     v_result := -20;     --代碼轉換     update TMP_AMSO a        set a.org_no =            (select b.org_no               from o_org b              where b.guid = a.powersupplyofficeid                and rownum = 1);       update TMP_AMSO a        set a.p_org_no =            (select b.org_no               from o_org b              where b.guid = a.countyid                and rownum = 1);     v_result := -30;     --更新正式表     update o_org a        set (a.org_name, a.p_org_no, a.org_type, a.savedatetime) =            (select b.powersupplyofficename, b.p_org_no, '06', sysdate               from TMP_AMSO b              where a.org_no = b.org_no)      where exists (select 1 from TMP_AMSO b where a.org_no = b.org_no);     update o_org a        set a.org_path =            (select b.org_path || '\' || a.org_no               from o_org b              where a.p_org_no = b.org_no)      where exists (select 1 from TMP_AMSO b where a.org_no = b.org_no);     v_result := -40;     --刪除更新完的數據     delete from TMP_AMSO a where a.org_no is not null;     --插入正式表(只支持單線程)     select nvl(max(to_number(a.org_no)), 0) into v_max from o_org a;     insert into o_org a       (a.org_no,        a.org_name,        a.p_org_no,        a.org_type,        a.savedatetime,        a.guid)       (select v_max + rownum,               b.powersupplyofficename,               b.p_org_no,               '06',               sysdate,               b.powersupplyofficeid          from TMP_AMSO b);       update o_org a        set a.org_path =            (select b.org_path || '\' || a.org_no               from o_org b              where a.p_org_no = b.org_no)      where exists      (select 1 from TMP_AMSO b where a.GUID = b.powersupplyofficeid);       commit;   EXCEPTION     WHEN OTHERS THEN       begin         ROLLBACK;         v_status := ERROR_LOG(v_result, SQLCODE, SQLERRM, 'insert_amso');       end;   END insert_amso;     PROCEDURE insert_tmrs(tmrs In tmrs_array) AS     v_max number;     --v_str varchar2(1000);     v_result number;     v_status number;   BEGIN     delete from tmp_tmrs;     v_result := -10;     --數據插入臨時表     FOR i IN tmrs.FIRST .. tmrs.LAST LOOP       BEGIN         insert into tmp_tmrs           (stationid,            stationname,            stationaddress,            voltagegrade,            zoneid,            status,            stationtype,            prop,            losstarget,            theoryloss,            product_company_id)         values           (tmrs(i).stationid,            tmrs(i).stationname,            tmrs(i).stationaddress,            tmrs(i).voltagegrade,            tmrs(i).zoneid,            tmrs(i).status,            tmrs(i).stationtype,            tmrs(i).prop,            tmrs(i).losstarget,            tmrs(i).theoryloss,            tmrs(i).product_company_id);       END;     END LOOP;     v_result := -20;     --代碼轉換     update tmp_tmrs a        set a.org_no =            (select b.org_no               from o_org b              where b.guid = a.zoneid                and rownum = 1);       update tmp_tmrs a        set a.area_code =            (select b.org_no               from o_org b              where b.guid = a.groupid                and rownum = 1);       update tmp_tmrs a        set a.subs_id =            (select b.subs_id               from g_subs b              where b.guid = a.stationid                and rownum = 1);     v_result := -30;     --更新正式表     update G_SUBS a        set (SUBS_NAME,             SUBS_ADDR,             ORG_NO,             VOLT_CODE,             RUN_STATUS_CODE,             SUBS_TYPE,             SUBS_PROP,             SAVEDATETIME) =            (select b.stationname,                    b.stationaddress,                    b.org_no,                    b.voltagegrade,                    b.status,                    b.stationtype,                    b.prop,                    sysdate               from tmp_tmrs b              where a.subs_id = b.subs_id                and rownum = 1)      where exists (select 1 from tmp_tmrs b where a.subs_id = b.subs_id);     v_result := -40;     --刪除更新完的數據     delete from tmp_tmrs a where a.subs_id is not null;     --插入正式表(只支持單線程)     select nvl(max(a.subs_id), 0) into v_max from G_SUBS a;     insert into G_SUBS a       (SUBS_ID,        SUBS_NAME,        SUBS_ADDR,        ORG_NO,        VOLT_CODE,        RUN_STATUS_CODE,        SUBS_TYPE,        SUBS_PROP,        SAVEDATETIME,        GUID)       (select v_max + rownum,               b.stationname,               b.stationaddress,               b.org_no,               b.voltagegrade,               b.status,               b.stationtype,               b.prop,               sysdate,               b.stationid          from tmp_tmrs b);       commit;   EXCEPTION     WHEN OTHERS THEN       begin         ROLLBACK;         v_status := ERROR_LOG(v_result, SQLCODE, SQLERRM, 'insert_tmrs');       end;   END insert_tmrs;     PROCEDURE insert_amsl(amsl In amsl_array) AS     v_max number;     v_max1 number;     v_result number;     v_status number;   BEGIN     delete from tmp_amsl;     v_result := -10;     --數據插入臨時表     FOR i IN amsl.FIRST .. amsl.LAST LOOP       BEGIN         insert into tmp_amsl           (lineid,            linename,            linetype,            voltagegrade,            stationid,            losstarget,            theoryloss,            statusflag,            zoneid,            groupid)         values           (amsl(i).lineid,            amsl(i).linename,            amsl(i).linetype,            amsl(i).voltagegrade,            amsl(i).stationid,            amsl(i).losstarget,            amsl(i).theoryloss,            amsl(i).statusflag,            amsl(i).zoneid,            amsl(i).groupid);       END;     END LOOP;     v_result := -20;     --代碼轉換     update tmp_amsl a        set a.org_no =            (select b.org_no               from o_org b              where b.guid = a.zoneid                and rownum = 1);       update tmp_amsl a        set a.area_code =            (select b.org_no               from o_org b              where b.guid = a.groupid                and rownum = 1);       update tmp_amsl a        set a.subs_id =            (select b.subs_id               from g_subs b              where b.guid = a.stationid                and rownum = 1);       update tmp_amsl a        set a.line_id =            (select b.line_id               from g_line b              where b.guid = a.lineid                and rownum = 1);     v_result := -30;     --更新正式表     update G_LINE a        set (LINE_NAME,             LINE_TYPE,             VOLT_CODE,             RUN_STATUS_CODE,             ORG_NO,             AREA_CODE,             SAVEDATETIME) =            (select b.linename,                    decode(b.linetype, '1', '01', '2', '02', '03'),                    b.voltagegrade,                    b.statusflag,                    b.org_no,                    b.area_code,                    sysdate               from tmp_amsl b              where a.line_id = b.line_id                and rownum = 1)      where exists (select 1 from tmp_amsl b where a.line_id = b.line_id);       delete from g_subs_line_rela a      where exists (select 1               from tmp_amsl b              where a.line_id = b.line_id);       /* update g_subs_line_rela a       set (a.line_id, a.subs_id, a.savedatetime) =           (select b.line_id, b.subs_id, sysdate              from tmp_amsl b             where a.line_id = b.line_id               and a.subs_id = b.subs_id               and rownum = 1)     where exists (select 1              from tmp_amsl b             where a.line_id = b.line_id               and a.subs_id = b.subs_id);*/     select nvl(max(a.rela_id), 0) into v_max1 from g_subs_line_rela a;       insert into g_subs_line_rela       (rela_id,        line_id,        subs_id,        in_out_flag,        rela_flag,        run_status_code,        savedatetime)       (select v_max1 + rownum, b.line_id, b.subs_id, '', '', '01', sysdate          from tmp_amsl b);     v_result := -40;     --刪除更新完的數據     delete from tmp_amsl a where a.line_id is not null;     --插入正式表(只支持單線程)     select nvl(max(a.line_id), 0) into v_max from g_line a;     select nvl(max(a.rela_id), 0) into v_max1 from g_subs_line_rela a;       insert into g_line a       (line_id,        LINE_NAME,        LINE_TYPE,        VOLT_CODE,        RUN_STATUS_CODE,        ORG_NO,        AREA_CODE,        SAVEDATETIME,        GUID)       (select v_max + rownum,               b.linename,               decode(b.linetype, '1', '01', '2', '02', '03'),               b.voltagegrade,               b.statusflag,               b.org_no,               b.area_code,               sysdate,               b.lineid          from tmp_amsl b);     update tmp_amsl a        set a.line_id =            (select b.line_id               from g_line b              where b.guid = a.lineid                and rownum = 1);     insert into g_subs_line_rela       (rela_id,        line_id,        subs_id,        in_out_flag,        rela_flag,        run_status_code,        savedatetime)       (select v_max1 + rownum, b.line_id, b.subs_id, '', '', '01', sysdate          from tmp_amsl b);     commit;   EXCEPTION     WHEN OTHERS THEN       begin         ROLLBACK;         v_status := ERROR_LOG(v_result, SQLCODE, SQLERRM, 'insert_amsl');       end;   END insert_amsl;     PROCEDURE insert_tmrz(tmrz In tmrz_array) AS     v_max number;     v_result number;     v_status number;   BEGIN     delete from tmp_tmrz;     v_result := -10;     --數據插入臨時表     FOR i IN tmrz.FIRST .. tmrz.LAST LOOP       BEGIN         insert into tmp_tmrz           (transformerid,            transformername,            transformertype,            capacity,            stationid,            voltagegrade,            zoneid,            losstarget,            theoryloss,            statusflag,            groupid)         values           (tmrz(i).transformerid,            tmrz(i).transformername,            tmrz(i).transformertype,            tmrz(i).capacity,            tmrz(i).stationid,            tmrz(i).voltagegrade,            tmrz(i).zoneid,            tmrz(i).losstarget,            tmrz(i).theoryloss,            tmrz(i).statusflag,            tmrz(i).groupid);       END;     END LOOP;     /* insert into test2 (select count(1) from tmp_tmrz);     commit;*/     v_result := -20;     --代碼轉換     update tmp_tmrz a        set a.org_no =            (select b.org_no               from o_org b              where b.guid = a.zoneid                and rownum = 1);       update tmp_tmrz a        set a.area_code =            (select b.org_no               from o_org b              where b.guid = a.groupid                and rownum = 1);       update tmp_tmrz a        set a.subs_id =            (select b.subs_id               from g_subs b              where b.guid = a.stationid                and rownum = 1);       update tmp_tmrz a        set a.tran_id =            (select b.tran_id               from g_tran b              where b.guid = a.transformerid                and rownum = 1);     v_result := -30;     --更新正式表     update G_TRAN a        set (TRAN_NAME,             SUBS_ID,             ORG_NO,             RATED_VOLT,             PLATE_CAP,             PUB_PRIV_FLAG,             area_code,             SAVEDATETIME) =            (select b.transformername,                    b.subs_id,                    b.org_no,                    b.voltagegrade,                    b.capacity,                    '1',                    b.area_code,                    sysdate               from tmp_tmrz b              where a.tran_id = b.tran_id                and rownum = 1)      where exists (select 1 from tmp_tmrz b where a.tran_id = b.tran_id);     v_result := -40;     --刪除更新完的數據     delete from tmp_tmrz a where a.tran_id is not null;     --插入正式表(只支持單線程)     select nvl(max(a.tran_id), 0) into v_max from G_TRAN a;     insert into G_TRAN a       (tran_id,        TRAN_NAME,        SUBS_ID,        ORG_NO,        RATED_VOLT,        PLATE_CAP,        PUB_PRIV_FLAG,        area_code,        SAVEDATETIME,        guid)       (select v_max + rownum,               b.transformername,               b.subs_id,               b.org_no,               b.voltagegrade,               b.capacity,               '2',               b.area_code,               sysdate,               b.transformerid          from tmp_tmrz b);       commit;   EXCEPTION     WHEN OTHERS THEN       begin         ROLLBACK;         v_status := ERROR_LOG(v_result, SQLCODE, SQLERRM, 'insert_tmrz');       end;   END insert_tmrz;     PROCEDURE insert_lapt(lapt In lapt_array) AS     v_max number;     v_result number;     v_status number;   BEGIN     delete from tmp_lapt;     v_result := -10;     --數據插入臨時表     FOR i IN lapt.FIRST .. lapt.LAST LOOP       BEGIN         insert into tmp_lapt           (transformerid,            consumerid,            transformertype,            tgid,            capacity,            address,            longitude,            latitude,            supplylineno,            zoneid,            groupid)         values           (lapt(i).transformerid,            lapt(i).consumerid,            lapt(i).transformertype,            lapt(i).tgid,            lapt(i).capacity,            lapt(i).address,            lapt(i).longitude,            lapt(i).latitude,            lapt(i).supplylineno,            lapt(i).zoneid,            lapt(i).groupid);       END;     END LOOP;     v_result := -20;     --代碼轉換     update tmp_lapt a        set a.org_no =            (select b.org_no               from o_org b              where b.guid = a.zoneid                and rownum = 1);       update tmp_lapt a        set a.area_code =            (select b.org_no               from o_org b              where b.guid = a.groupid                and rownum = 1);       update tmp_lapt a        set a.tg_id =            (select b.tg_id               from g_tg b              where b.guid = a.tgid                and rownum = 1);     update tmp_lapt a        set a.cons_id =            (select b.cons_id               from c_cons b              where b.guid = a.consumerid                and rownum = 1);       update tmp_lapt a        set a.tran_id =            (select b.tran_id               from g_tran b              where b.guid = a.transformerid                and rownum = 1);     v_result := -30;     --更新正式表     update G_TRAN a        set (TG_ID,             ORG_NO,             PLATE_CAP,             PUB_PRIV_FLAG,             CONS_ID,             INST_ADDR,             area_code,             SAVEDATETIME) =            (select b.tg_id,                    b.org_no,                    b.capacity,                    b.transformertype,                    b.cons_id,                    b.address,                    b.area_code,                    sysdate               from tmp_lapt b              where a.tran_id = b.tran_id                and rownum = 1)      where exists (select 1 from tmp_lapt b where a.tran_id = b.tran_id);     v_result := -40;     --刪除更新完的數據     delete from tmp_lapt a where a.tran_id is not null;     --插入正式表(只支持單線程)     select nvl(max(a.tran_id), 0) into v_max from G_TRAN a;     insert into G_TRAN a       (tran_id,        TG_ID,        ORG_NO,        PLATE_CAP,        PUB_PRIV_FLAG,        CONS_ID,        INST_ADDR,        area_code,        SAVEDATETIME,        guid)       (select v_max + rownum,               b.tg_id,               b.org_no,               b.capacity,               b.transformertype,               b.cons_id,               b.address,               b.area_code,               sysdate,               b.transformerid          from tmp_lapt b);       commit;   EXCEPTION     WHEN OTHERS THEN       begin         ROLLBACK;         v_status := ERROR_LOG(v_result, SQLCODE, SQLERRM, 'insert_tmrz');       end;   END insert_lapt;     PROCEDURE insert_dmrt(dmrt In dmrt_array) AS     v_max number;     v_result number;     v_status number;     v_max1 number;     BEGIN     delete from tmp_dmrt;     v_result := -10;     --數據插入臨時表     FOR i IN dmrt.FIRST .. dmrt.LAST LOOP       BEGIN         insert into tmp_dmrt           (TGID, TGNAME, CONSNUM, ZONEID, GROUPID, SUPPLYLINENO)         values           (dmrt(i).TGID,            dmrt(i).TGNAME,            dmrt(i).CONSNUM,            dmrt(i).ZONEID,            dmrt(i).GROUPID,            dmrt(i).SUPPLYLINENO);       END;     END LOOP;     v_result := -20;     --代碼轉換     update tmp_dmrt a        set a.org_no =            (select b.org_no               from o_org b              where b.guid = a.zoneid                and rownum = 1); &nbs
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上一篇,我們對hive的數據導出,以及集群Hive數據的遷移進行描述。瞭解到了基本的hive導出操作。這裡,我們將對hive的CLI及JDBC這些實用性很強的兩個方便進行簡要的介紹。 下麵我們開始介紹hive的CLI和JDBC。
  • 一、安裝 目前,官方最新穩定版本為3.0.7 # wget http://download.redis.io/releases/redis-3.0.7.tar.gz # cd /usr/local/ # tar xvf /root/redis-3.0.7.tar.gz # cd redis-3.0.
  • 以後我們會看到越來越多的機器人。春晚上也有。
  • 關於正則表達式
  • SQL(根據自己需要改列名、表名): delete from tableA where id not in (select min(id) from tableA group by name,age)
  • Query #1 is Version Info. SQL and OS Version information for current instance SELECT @@SERVERNAME AS [Server Name], @@VERSIONAS [SQL Server and OS Ver
  • sqlite不支持類似sqlserver中的select into 語法 在SQL Server中,我們要將一個表中的數據複製到一個新表中,可以這樣寫: SELECT * INTO newtable FROM oldtable SQLite不支持以上語法,替代的語句是這樣: CREATE TABLE
  • CREATE OR REPLACE PACKAGE BODY ssl AS PROCEDURE insert_ssl(s In ssl_array) AS v_month varchar2(20); v_sql varchar2(5000); v_result number; v_status nu
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...