ORACLE数据库内,需求为已经参数为一串ID,用引号逗号隔开(例如‘2’,‘3,’‘4’,‘5’),要从表ATT_PD_EQUI这张表里面将列 TYPE 这列内将等于参数内所有参数的值的总和得出(即要得到TYPE值等于2或3或4或5的所有数量的总和),求详细存储过程实现的语句。
最新回答
殇情
2024-09-22 07:33:19
一句话就搞定了,不用过程
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)
追问
数值的长度和个数都是不定的,要看传来的参数
追答
对啊,我这个就是不固定的,你随便都行
缺少你爱情的回应
2024-09-22 00:21:39
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;