【问题标题】:MySQL. 3 tables, How to subtract table A - table B then update to table C? [duplicate]mysql。 3个表,如何减去表A - 表B然后更新到表C? [复制]
【发布时间】:2016-02-13 08:40:44
【问题描述】:

我有 3 个表(inprod、outprod、Products),我想在每次有新行进入时更新它。我想知道的是,如何使用 Join 在单个查询中更新它?受影响的列是 ProdName 和 stockIn,存在于这 3 个表中。简单地说,products = inprod - outprod。

【问题讨论】:

  • 为澄清问题,请添加示例表和所需结果。如果没有看到实际的表和想要比较的结果,几乎不可能编写有用的 SQL。
  • 我还没有查询,因为我没有尝试使用 Join,但这些是我正在使用的表。每当有来自 inprod 和 outprod 的新输入时,我都会更新它的产品。我想知道剩余的库存数量 inprod.stocksIN - outprod.stocksIN 然后更新 Products.stocksIN。

标签: mysql .net database vb.net


【解决方案1】:

很简单.. 只是因为没有详细提到数据库细节,我可以告诉你如何使用 pl/sql 更新数据库。 1.您可以创建一个过程,该过程将在创建触发器的帮助下存储更改的行。每次 inprod 表发生变化时都会触发触发器。 2. 一旦更改的行存储在已创建的过程中,您可以使用已创建的过程更新更新表中的相关行。 如果您需要与此相关的 pl/sql 代码,请告诉我。或者您在创建过程时需要任何帮助。

【讨论】:

  • 好的,之前不知道有什么用,现在正在看。你能为我创建一个触发器,以便我可以快速检查它吗?这些表是产品,inprod 和 outprod。它们都有 prodname 和 stockin 作为列。我希望每次在 inprod 和 outprod 中有输入时触发触发器。 (inprod.stocksin - outprod.stocksin) 值将存储到产品表中。
  • 这就是您创建触发器的方式。根据需要,触发器可以在插入、更新数据之前或之后使用....在插入前为每一行创建触发器 update_trigger - - 在这里,您可以使用 pl/sql 代码或将数据插入到 inprod 表中后您想做的任何事情... BEGIN END;希望这个链接有帮助.. sqlservercentral.com/Forums/Topic561995-150-1.aspx
  • @Auqib 你让我有点困惑,问题是关于 MySQL,但你在谈论 PL/SQL (Oracle) 并链接到 SQLServerCentral (SQL Server)。这个想法可能是正确的,但您可能希望使用正确 RDBMS 中的术语。
猜你喜欢
  • 1970-01-01
  • 2011-09-28
  • 2013-11-10
  • 2012-03-24
  • 1970-01-01
  • 1970-01-01
  • 2021-03-16
  • 1970-01-01
  • 2017-08-08
相关资源
最近更新 更多