当前位置: 代码迷 >> Sql Server >> 请教这是SQLSERVER的BUG还是代码有误,请帮忙解决,多谢
  详细解决方案

请教这是SQLSERVER的BUG还是代码有误,请帮忙解决,多谢

热度:19   发布时间:2016-04-27 11:46:31.0
请问这是SQLSERVER的BUG还是代码有误,请帮忙解决,谢谢
--Cal QTY_ON_HAND QTY_ON_HAND_COST
update maitem set QTY_ON_HAND=isnull(A.QTY_ON_HAND,0)-isnull(B.qty,0),QTY_ON_HAND_COST=isnull(A.QTY_ON_HAND_COST,0)-( isnull(B.qty,0)*isnull(A.average_cost,0) )
from maitem A inner join
(select E.ref_no,E.item_no,E.loc,sum(E.qty) as qty
 from inmovd E
 where [email protected]_NO
 group by E.ref_no,E.item_no,E.loc
) B
on A.item_no=B.item_no --amend 20120704 and A.loc=B.loc and [email protected]_NO 


这是一段存储过程更新数据库的代码,现在有同一张单号的10条记录,为什么有时候却UPDATE了9条,但是其中1条UPDATE不成功,再执行一次这个存储过程又可以UPDATE到10条记录。我使用的是SQL SERVER EXPRESS 2005 (备注:REF_NO 为订单单号)


------解决方案--------------------
看不出来有什么毛病,你还加事务了,也能正常提交,那语法上应该没有问题了

你检查一下你的根性逻辑,还有表的数据
  相关解决方案