批量更新资源费率
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;
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· 深度对比:PostgreSQL 和 SQL Server 在统计信息维护中的关键差异