多表操作 放在同一事务里 这个跟并发无关库存更新这块,每次更新前先判断数量是否更改,可以先锁记录,然后查询判断数量是否被被人修改过。如果没有被别人修改 则更新,否则返回重新操作
完了别忘记释放行锁

解决方案 »

  1.   

    更新库存一定要在存储过程里进行判断
      

  2.   


    多表操作代码写的不好的话容易造成死锁的 ,就是2个事务,一个查A更新B  一个查B 更新A什么的
     
    我比较关心的是这种更新库存的机制没有问题,比如造成死锁,丢失数据什么的,因为以前我们都是通过实施计算来获得库存的,就是把+-表里面的数据汇总.继续等更佳的讲解.
      

  3.   

    只要不是多用户同时更新同表同记录,一般不会造成死锁.
      

  4.   

    用户同时更新同表同记录
    用事務防止併發
      

  5.   

    大家设计库存表都是这样设计吗 ?
    我个人觉得 通过库存的流水计算出来的 安心点,因为以前有个同事说更新,会莫名其妙的库存对不上,
    就是所有库存变化记录到一个表, 然后定期结算已经处理的记录,计算库存 就是计算这个表没有结算的数量.
      

  6.   

    建议你:买(进货) 一个表.
    卖(出货) 一个表.然后通过买,卖两个表来计算库存.
      

  7.   

    防治同步操作,通过历史操作记录计算库存数量~!
      

  8.   

    有没有实例 可以说服这个同事啊 ?
      

  9.   

    那就是说大家都觉得这样不停地更新库存这样方式比较合理咯 ?
      

  10.   

    我觉得用单据类型区分就可以了单据类型 单据名称 库存符号
    100       销售    -1
    101       入库    1
    -----
    到时候关联一下这张表 取数据或金额就 *库存符号就可以了
      

  11.   

    其实用事务可以解决这种问题,但是也可以用另外一种方式,不用库存表,直接用原单据来统计库存,这样也可以,这样做速度可能会慢点,但是维护少很多。