下面给出了库存进出仓库三种事务处理
1-领料列表2-退货列表3-DA列表
DA列表包含库存保管员从经销商处购买了多少库存(库存)
提货单是指他交给不同销售人员销售(出库)的库存。退货单是指那些不是由销售人员销售的库存,由他退还给库存保管员(入库)。
库存保管员想要这些查询必须启用
1-可以按日期、按销售人员查看以前的各种列表(PL、RL、DA列表)2-仓库中有多少可用库存
下面是表格
sku(id, name, type, category)
batch(sku_id, batch, price , date)
salesman(id, name)
transaction_type(type_id, transaction_name)
transaction_header(list_id , salesman_id, route )
transaction_detail(list_id, sku_id , Qty)列表id主键包含前缀,如da-34244 pl-453rs-3432
所以问题是如何更新这个仓库表
warehouse(sku_id, qty , typeofsku)我认为这些可能性可能是
当用户输入列表在表单上给他一个按钮是你k这是列表,当用户按下此按钮时,首先在transaction_detail中输入详细信息,然后从该表中选择数量,并根据列表类型添加或减去,然后更新仓库,从仓库获取数量。
是否还有其他有效和好的方法,请提出建议并提供细节。
发布于 2013-03-07 22:46:37
首先,每个表都应该有一个盲的主键或聚集键。盲键是与底层数据无关的键。盲键通常是自动递增的整数或长整型,或者其他一些唯一的ID。
列表ID是一个主键,它包含像da-34244 pl-453rs-3432这样的前缀,用来标识它是什么类型的列表。
在数据库列中永远不应该有这样的组合字段。您应该将字段分解为一个列表代码(da,pl,rs)和一个数字。您可以在生成输出时组合这些字段,这样用户就可以看到他们熟悉的列表ID。将列表类型与数据库中的列表编号分开,可以更容易地跟踪所使用的编号。
按日期、按销售人员查询以前的各种列表(PL、RS、DA列表)
您没有在任何表中存储时间戳,因此无法按日期进行查询。此外,您还需要决定列表类型在数据库中是以大写还是小写形式存储。您已经同时使用了小写和大写的list类型。
查询仓库中有多少库存
最后,您提到了一个仓库表,其中包含您需要的数量值。
事务
编辑为add:有时,您必须执行多个SQL语句才能完成事务。
您有一个事务标题表、一个事务明细表和一个仓库表。
假设事务明细表来自退货列表,这意味着我们将库存数量添加回仓库表。
您的程序必须执行以下SQL步骤
上的数量
要么上述所有步骤都成功执行,要么上述步骤都不成功。这就是所谓的事务。这就是提交(或回滚)对数据库的更改的原因。
事务的同步是保持库存数量正确的原因。想象一下,如果事务详细信息行被写入数据库,但仓库数量没有更新,那么在一个真实的仓库中会发生什么。
是的,你必须完成上面列出的所有步骤。没有捷径可走。
https://stackoverflow.com/questions/15266300
复制相似问题