Sql server数据更新不对

时间:2021-11-03 04:53:03
我有一个存储过程是用来审核库存流水单据并更新库存数量的,更新库存之前会更新单据的期初库存,更新库存之后会更新单据的结存库存,主要是查询库存流水账的时候用到,所以查流水账的时候期初数+(-)流水数量等于结存数,表示流水是正常的,但有时会出现流水不正常,即期初数+(-)流水数量会不等于结存数,但这种问题出现的概率极少(有时几个月才发生一次),并且我在单据成功审核后还会加检测判断流水是否正常,如果不正常我会提示“期初数+(-)流水数量不等于结存数,请重新审核!”的信息并回滚所有操作,现在的问题是,此单据可以成功审核,但却未检测出库存流水异常,将此单还原重审,流水又正确了,不知是什么原因,开始怀疑是并发的问题造成,但我己经加了事务保护的,不知哪位有这方面经验的人士是否也遇到过SQL SERVER更新数据不对的问题。
以下是商品代码为04030021的库存流水,在单号DB002~DB004出现异常,但将此三笔流水还原重审后流水又正常了,这是不是MSSQL的问题呀!代码里面也没错啊!
仓库 业务类型 单号 审核日期             商品代码 商品名称        期初数 数量 结存数
总部 验收入库 PI001 2011-05-05 14:50:07 04030221 晶灿灿茶香枕 0 300 300
总部 调拨出库 DB001 2011-05-05 15:02:52 04030221 晶灿灿茶香枕 300 5 295
总部 调拨出库 DB002 2011-05-19 14:26:10 04030221 晶灿灿茶香枕 295 24 272
总部 调拨出库 DB003 2011-05-19 14:27:58 04030221 晶灿灿茶香枕 272 24 249
总部 调拨出库 DB004 2011-05-19 14:28:22 04030221 晶灿灿茶香枕 249 24 226
总部 调拨出库 DB005 2011-05-19 14:51:33 04030221 晶灿灿茶香枕 226 24 202
总部 调拨出库 DB006 2011-05-19 14:51:58 04030221 晶灿灿茶香枕 202 19 183

6 个解决方案

#1


贴上代码看看吧

#2


Sql server数据更新不对p字太多没有看完

#3


引用楼主 tronrich 的回复:
我有一个存储过程是用来审核库存流水单据并更新库存数量的,更新库存之前会更新单据的期初库存,更新库存之后会更新单据的结存库存,主要是查询库存流水账的时候用到,所以查流水账的时候期初数+(-)流水数量等于结存数,表示流水是正常的,但有时会出现流水不正常,即期初数+(-)流水数量会不等于结存数,但这种问题出现的概率极少(有时几个月才发生一次),并且我在单据成功审核后还会加检测判断流水是否正常,如果不正常……
太多了。

#4


写出代码 写出测试数据和所要的结果

#5


引用 4 楼 fredrickhu 的回复:
写出代码 写出测试数据和所要的结果
y

#6


肯定是自己设计代码有问题啦

#1


贴上代码看看吧

#2


Sql server数据更新不对p字太多没有看完

#3


引用楼主 tronrich 的回复:
我有一个存储过程是用来审核库存流水单据并更新库存数量的,更新库存之前会更新单据的期初库存,更新库存之后会更新单据的结存库存,主要是查询库存流水账的时候用到,所以查流水账的时候期初数+(-)流水数量等于结存数,表示流水是正常的,但有时会出现流水不正常,即期初数+(-)流水数量会不等于结存数,但这种问题出现的概率极少(有时几个月才发生一次),并且我在单据成功审核后还会加检测判断流水是否正常,如果不正常……
太多了。

#4


写出代码 写出测试数据和所要的结果

#5


引用 4 楼 fredrickhu 的回复:
写出代码 写出测试数据和所要的结果
y

#6


肯定是自己设计代码有问题啦