Posted on 2008-06-26 11:24
leekiang 阅读(67)
评论(0) 编辑 收藏 所属分类:
jdbc事务
我单位物资系统:库存表kcb,库存明细kcmx
当发生一笔动态的时候,先查询库存表中的库存数量,然后加上增减数量,得到新库存,update,commit;
接着把库存数量,增减数量,更改时间分别插入到库存明细:前次数量,增减数量,更改时间。
问
题:现在有两条数据更改时间很接近 a 10:51:47:01b 10:51:46:25
.也就是说两条数据先后更新,而且更新的是同样一笔物资。于是,a
条记录得到的前存数量和b条记录得到的前存数量一样,(好像叫读脏数?)于是记录b的更新就被当作不存在了!
系统在随后的更新中查到的是记录a更新候的数据,一切正常,唯有记录b 被忽略了;(于是库存错了,领导批了)
还有一个奇怪的问题,就是库存明细的查询是用存储过程作的,为什么select到pb的数据窗口之后别的数据都是按时间顺序排列,唯有上面两条,a在b之前!时间也会错?相差太近?
我以后怎么办?高人教我