今天修改一视图,只在其上层视图中增加一个字段,结果访问最终视图的时候又一次出现老问题ora-24347聚合函数出现空列错误。知道这类错误是因为SUM COUNT之类的集合函数引用了空列,将相关的底层视图都加上了nvl:
SUM(NVL(JE,0))
仍旧还是出错,在10g上面怎么样都运行正常没有问题,在9i上开始时也没问题,用户已经使用导出了数据。后来突然就出现该错误,在PL/SQL里面可以正常访问该最终视图,但在pb里面就无论如何都出错,重建也不行。没有办法,将服务器数据恢复到本地机器,取得旧的视图定义重新执行,还是照旧出错,最后在
,SUM(DECODE(zd1,'xxxx',NVL(JE,0))) 里面找到了问题,decode里面没赋缺省值。为DECODE添加缺省值:
SUM(DECODE(zd1,'xxxx',NVL(JE,0),0)),至此问题终于解决!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/309642/viewspace-1253301/
,如需转载,请注明出处,否则将追究法律责任。