zoukankan      html  css  js  c++  java
  • 批量更新资源费率

    PROCEDURE UPDATE_RESOURCE_FATE AS
    cursor resource_cur is
    select trim(id) ID,
    TRIM(organization_code) ORGANIZATION_CODE, --组织
    TRIM(DEPT_CODE) DEPT_CODE, --部门
    TRIM(RATE) RATE --费率
    from CUX.UPDATE_RESOURCE_TEMP;
    L_organization_id NUMBER := 0;
    L_count NUMBER := 0;
    V_ORG_COUNT NUMBER := 0;
    E_CHECK EXCEPTION;
    V_ERR_MESSAGE VARCHAR2(2000);
    BEGIN
    SELECT COUNT(DISTINCT CWI.ORGANIZATION_CODE)
    INTO V_ORG_COUNT
    FROM CUX.UPDATE_RESOURCE_TEMP CWI;
    IF V_ORG_COUNT <> 1 THEN
    V_ERR_MESSAGE := V_ERR_MESSAGE || '-导入数据只能是同个组织-';
    RAISE E_CHECK;
    END IF;
    BEGIN
    select mco.ORGANIZATION_ID
    INTO L_organization_id
    from meg_cux_org_v mco,CUX.UPDATE_RESOURCE_TEMP CWI
    where mco.organization_code = cwi.ORGANIZATION_CODE
    and rownum=1;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    insert into CUX_Blue_Gold
    (A, B, c)
    VALUES
    ('资源费率导入',
    '组织不存在-',
    to_char(sysdate, 'yyyy-mm-dd'));
    commit;
    V_ERR_MESSAGE := '组织不存在-';
    RAISE E_CHECK;
    END;

    for resource_rec in resource_cur loop

    BEGIN
    select count(*)
    into l_count
    from BOM_RESOURCES
    where substr(RESOURCE_CODE, 1, 3) = resource_rec.DEPT_CODE
    and organization_id = L_organization_id;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    insert into CUX_Blue_Gold
    (A, B, c)
    VALUES
    ('资源费率导入',
    '部门【' || resource_rec.DEPT_CODE || '】不存在-',
    to_char(sysdate, 'yyyy-mm-dd'));
    commit;
    V_ERR_MESSAGE := '部门【' || resource_rec.DEPT_CODE || '】不存在-';
    RAISE E_CHECK;
    END;
    insert into CUX_Blue_Gold
    (A, B, c)
    values( L_organization_id,resource_rec.DEPT_CODE,resource_rec.RATE);
    update CST_RESOURCE_COSTS
    set resource_rate = round(resource_rec.RATE,6)
    where cost_type_id = 1001
    and organization_id = L_organization_id
    and resource_id in
    (select resource_id
    from BOM_RESOURCES
    where substr(RESOURCE_CODE, 1, 3) = resource_rec.DEPT_CODE
    and organization_id = L_organization_id);

    end loop;
    commit;
    END UPDATE_RESOURCE_FATE;

  • 相关阅读:
    php数组的循环遍历
    Mysql中的字符串函数
    关于给居于网络里面的计算机发送消息的问题
    WINDOWS系统服务详解
    GET DATA
    无法移动或重命名“Documents and Settings”文件夹
    瑞星升级包 下载网站
    ARP本机绑定 批处理
    如何获得各个运行进程的id
    如何通过程序知道有哪些计算机与自己的电脑连接
  • 原文地址:https://www.cnblogs.com/lanminghuai/p/14043432.html
Copyright © 2011-2022 走看看