Select sum得到的值为何这么奇怪

Select sum得到的值为什么这么奇怪?
是这样的,我希望在更新表之前和之后有一个对比,所以需要得到更新之前的某列数据的和以及更新之后的值
发现一个很奇怪的问题。下面这条语句有时执行得到的behindtotal值和软件中的一样,有时多1。
Select sum(aac825) Into :behindtotal From agzk where agzk.aae030 = :dodate;
问题在于不是每次都出错。有时是正确的,有时是错误的。
我还试过在语句里加入先断开数据库然后又连接数据库的操作,这样修改后的结果依旧。
大家说说有可能是哪里的问题呢?百思不得其解。
------解决方案--------------------
Select sum得到的值为何这么奇怪