日期:2014-05-17  浏览次数:21098 次

关于出库的并发操作
我现在是一个入库表,一个库表,库存信息是一个物化视图(入库-出库),入库不存在并发操和,因为每一次的入库批次都是不一样的,现在如果A B两人个人同时做出库操作就会出现负库存的问题如:
A在出库的时候可以看到C这个货物有6件,就出库6件
但在同一个时间B也可以看到C有6件,也出6件
这样就会出现负库存,想问怎么解决这样的并发操作啊
------解决方案--------------------
最簡單的,庫存數量字段加check約束>=0;或觸發器中判斷數量>=0
------解决方案--------------------
出库操作通过锁实现并行,可以是悲观锁,也可以是乐观锁
------解决方案--------------------
字段加check約束>=0!让数据库来帮你判断。如果A出库后,B接着出库,导致库存负值,则提示出库失败。
------解决方案--------------------
引用:
引用:

最簡單的,庫存數量字段加check約束>=0;或觸發器中判斷數量>=0

锁出库记录表吗?怎么锁啊

什么锁表取得时候判断下数据库的量是不是大于你索取的数量就是了
------解决方案--------------------
直接触发器中判断,<=0不允许操作