首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >另一个用于仓库或任何其他标准的表

另一个用于仓库或任何其他标准的表
EN

Stack Overflow用户
提问于 2013-03-07 16:23:54
回答 1查看 153关注 0票数 0

下面给出了库存进出仓库三种事务处理

1-领料列表2-退货列表3-DA列表

DA列表包含库存保管员从经销商处购买了多少库存(库存)

提货单是指他交给不同销售人员销售(出库)的库存。退货单是指那些不是由销售人员销售的库存,由他退还给库存保管员(入库)。

库存保管员想要这些查询必须启用

1-可以按日期、按销售人员查看以前的各种列表(PL、RL、DA列表)2-仓库中有多少可用库存

下面是表格

代码语言:javascript
复制
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

所以问题是如何更新这个仓库表

代码语言:javascript
复制
warehouse(sku_id, qty , typeofsku)

我认为这些可能性可能是

当用户输入列表在表单上给他一个按钮是你k这是列表,当用户按下此按钮时,首先在transaction_detail中输入详细信息,然后从该表中选择数量,并根据列表类型添加或减去,然后更新仓库,从仓库获取数量。

是否还有其他有效和好的方法,请提出建议并提供细节。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-07 22:46:37

首先,每个表都应该有一个盲的主键或聚集键。盲键是与底层数据无关的键。盲键通常是自动递增的整数或长整型,或者其他一些唯一的ID。

列表ID是一个主键,它包含像da-34244 pl-453rs-3432这样的前缀,用来标识它是什么类型的列表。

在数据库列中永远不应该有这样的组合字段。您应该将字段分解为一个列表代码(da,pl,rs)和一个数字。您可以在生成输出时组合这些字段,这样用户就可以看到他们熟悉的列表ID。将列表类型与数据库中的列表编号分开,可以更容易地跟踪所使用的编号。

按日期、按销售人员查询以前的各种列表(PL、RS、DA列表)

您没有在任何表中存储时间戳,因此无法按日期进行查询。此外,您还需要决定列表类型在数据库中是以大写还是小写形式存储。您已经同时使用了小写和大写的list类型。

查询仓库中有多少库存

最后,您提到了一个仓库表,其中包含您需要的数量值。

事务

编辑为add:有时,您必须执行多个SQL语句才能完成事务。

您有一个事务标题表、一个事务明细表和一个仓库表。

假设事务明细表来自退货列表,这意味着我们将库存数量添加回仓库表。

您的程序必须执行以下SQL步骤

  • 将信息插入事务处理题头行。
  • 对于返回列表中的每个sku:
    • 将信息插入事务处理详细信息行。
    • 选择具有相同sku_id的仓库行。
    • 将事务处理详细信息行中的数量与仓库行的数量相加。如果这是一个挑库单,您应该从仓库行的数量中减去事务处理详细信息行的数量。
    • 更新仓库row.

上的数量

  • 提交数据库更改。

要么上述所有步骤都成功执行,要么上述步骤都不成功。这就是所谓的事务。这就是提交(或回滚)对数据库的更改的原因。

事务的同步是保持库存数量正确的原因。想象一下,如果事务详细信息行被写入数据库,但仓库数量没有更新,那么在一个真实的仓库中会发生什么。

是的,你必须完成上面列出的所有步骤。没有捷径可走。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15266300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档