我有一个这样的例子,多人操作一个数据库的订单,出货单,待发单。录入出货单的时候会去看数量是否超过订单了,超过了就不能录入,反之就能录入数据,并把订单数量-出货数量的值存入待发表中。现在出现这个问题,待发会有负数的产生。我想可能是脏读了,比如有人在录订单,另外一个人在去读这个,然后结果是不对的一个值去减出货单,造成待发出现负数了。
我是这样处理的,我把这些表在录入订单和出货单的时候全部以tablock的形式锁表,但是还是会出现负数的可能,大侠们帮帮嘛啊~~~怎么才能解决这个多人操作数据库。造成幻读,脏读等呢。