ORACLE利用存储过程求和

2025-02-26 22:14:37
推荐回答(2个)
回答1:

一句话就搞定了,不用过程

Select Sum(no)
From (Select Regexp_Substr('2,3,4,5', '[^,]+', 1, Level) no
From Dual
Connect By Level <=
Length('2,3,4,5') - Length(Replace('2,3,4,5', ',')) + 1)

回答2:

create or replace package pk_sum
begin
function containSum(param varchar2) return number;
end;

create or replace package body pk_sum
begin
function containSum(param varchar2) return number
is
rval number;
begin
select sum(type) into rval from ATT_PD_EQU t
where instr(param, t.TYPE) <> 0
return rval;
end;
end;