大家好,我在做一个进销存系统的时候,要求库存量可以预留。当下订单的时候我使用触发器来增加预留数量,发货的时候在使用触发器减少预留量。
但是有的时候预留量会出现负数。
大家在这种问题上是怎么考虑的?我的设计思路是不是有问题呢,还有没有更好的实现方式啊。

解决方案 »

  1.   

    个人觉得有点问题.建议去下个ERP系统,看看别人是怎么搞的.
      

  2.   


    3楼给推荐一个ERP的数据库看看怎么样,呵呵。好人做到底吗。
      

  3.   

    我使用的触发器。现在问题还没有找到。看来可能要修改一下设计方式了。
    对于预留的问题我们原来是每次都去历史记录表中去Sum一下得出全部的预留数量和已经发送的数量,做差得出现在预留数量。
    但是这样数据库压力大(历史记录表中数据量很大)。后来使用触发器来做,每次下订单就增加预留数量,发货就减少预留数量。
    不知道是不是可以使用存储过程来做呢?把下订单增加预留量写在一个存储过程中,发货减少预留数量写在另一个存储过程中。
    请大家提示一下呵呵。对于数据库的完整性问题还真的很让人头痛。
      

  4.   

    我也看到微软的范例数据库中有这种情况,销售主表有个合计金额列 字表中有单价、数量列,
    主细表的同步也是通过触发器来做的。
    但是他不是简单的向上加减,而是每次都是去重新汇总一下
    销售主表.合计金额=(Sum(子表.数量*子表.单击) where 子表.子表外键=销售主表.主表主键)这样做肯定不会出现不匹配问题了。但是我想在性能上可能也会差一些了。为什么不去直接去增加减少销售主表.合计金额呢
    是不是微软的触发器真的有问题呢?