函数传入代码值输出代码说明

CREATE OR REPLACE FUNCTION FUN_IS_CKC055_CHANGE(PRM_CKC055 IN VARCHAR2) RETURN VARCHAR2 IS
V_ckc055_explain VARCHAR2(200) := ‘0’; --ckc055字段说明
v_element varchar2(200);
v_tmp varchar2(200);
v_aaa103 varchar2(200);

BEGIN
v_tmp := PRM_CKC055;
IF v_tmp IS NULL OR v_tmp =’’ THEN
return V_ckc055_explain;
ELSE
while instr(v_tmp, ‘,’) > 0 LOOP
v_element := substr(v_tmp, 1, instr(v_tmp, ‘,’) - 1);
v_tmp := substr(v_tmp,
instr(v_tmp, ‘,’) + length(’,’),
length(v_tmp));
begin
select aaa103 into v_aaa103 from aa10 where aaa100 = ‘CKC055’ AND AAA102 = v_element;
exception
WHEN OTHERS THEN
v_aaa103 := ‘0’;
end;

if v_aaa103 != ‘0’ then
if V_ckc055_explain = ‘0’ then
V_ckc055_explain := v_aaa103;
else
V_ckc055_explain := V_ckc055_explain||’,’||v_aaa103;
end if;

end if;
end loop;

—最后一个没有逗号分割
if v_tmp is not null then
select aaa103 into v_aaa103 from aa10 where aaa100 = ‘CKC055’ AND AAA102 = v_tmp;
if V_ckc055_explain = ‘0’ then
V_ckc055_explain := v_aaa103;
else
V_ckc055_explain := V_ckc055_explain||’,’||v_aaa103;
end if;
end if;
END IF;

RETURN V_ckc055_explain;
END FUN_IS_CKC055_CHANGE;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值