可能是在 select -sum(umfudebt+umfpdebt) into v_judgementdebt 给 v_judgementdebt 赋值的,检查一下 umfudebt 和 umfpdebt 是否有 null 值。
用:-sum(nvl(umfudebt,0)+nvl(umfpdebt,0)) 试试
用:-sum(nvl(umfudebt,0)+nvl(umfpdebt,0)) 试试
解决方案 »
- 为什么记录数不一样
- Oracle设定一个时间自动统计数据插入一个表中
- java 调用oracle存储过程建表出错,求解
- 请求一个统计的SQL.
- 请教Oracle case when 语句的问题
- 求sql语句
- update t1 set CTNP= '" & vsCTNP & "' where recid='000001",更新失败,提示“字符串太长”
- 网络状况正常,服务已经正常启动,从外网访问数据库服务,SQLPlus总是超时,原因何在?急!
- 急:一个用户使用另一个用户所创建的表的问题!
- JAVA+JDBC+ORACLE "违反协议",怎么解决?
- 请问如何设置sqlj的路径
- oracle安装问题!!急,给50分!!
from umfdetails
where umfcmpcd = v_cmpcd看v_count 数是多少?
然后sum(umfudebt+umfpdebt)的时候NULL+VAR也是空,再
sum(umfudebt+umfpdebt)是不会触发no_data_found 所以出现你的结果
begin
select -sum(nvl(umfudebt,0)+nvl(umfpdebt,0))
into v_judgementdebt
from umfdetails
where umfcmpcd = v_cmpcd
exception
when no_data_found then
v_judgementdebt := 0;
end;