仓库先进先出问题
有物料表
2007-01-01
物料编号 库存数
ID Qty
1 5
出库表 物料编号 数量 出库时间
CID ID CQty CTime
001 1 3 2007-01-02
操作以后
物料表
时间2007-01-03
物料编号 库存数
ID Qty
1 2
然后入库
入库表 物料编号 数量 入库时间
RID ID RQty RTime
001 1 3 2007-01-03
问题是,当操作以后
修改出库表001时
如何保证出库数量不能大于5?
------解决方案--------------------TO:问题是,当操作以后
修改出库表001时
如何保证出库数量不能大于5?
先得到库存数量,然后再根据这个数量进行判断不行吗??
还是我没有理解楼主的意思?
------解决方案--------------------1.通过判断来保证出库数量
其实我感觉你的问题是在问,你分几笔存,然后不知道能取多少
2个思路
一是对ID的物料进行累加
不过这个办法对于小型的是没问题的
但无疑多了很多计算
推荐的做法是通过一个表专门簿记仓库内货物的数量,以此为标准进行出库
你可以把你上面两张表看成是仓库日志
如果你想问的是并发的话,那么使用事务来解决问题
------解决方案--------------------使用事务回滚就成了
------解决方案--------------------你是说出库表出库数量填错了吗,修改出库表数从3改为5,如果是当时发现就改就像正常出库一样算,如果是隔了一段时间修改,如果库存数量> =(5-3)时是不用有什么问题的,你只虽要再出库5-3,并按现在库存最老价格算(先进先出),如果你现库存 <(5-3)那么要么你们的安全库存有问题,要么你们仓管出现重大失职,只有先入库才修改出库
所以修改出库表时,你就采取先还原出库表中的数量到库存(包括当时的价格),然后再重新出库(按正常的先进先出进行即可),库存数量够不够这么正常出库情况一样外理,如果你不想删除,那就在这张出库表里再出库(5-3),或是返还X