如何将 8 个查询合并为一个以创建过程?

How to combine 8 queries into one to create a procedure?

我创建了一个 table 来匹配用于将库存上传到亚马逊的在线模板。它总共有 440 列。我不担心那个,他们也不担心,这主要是必要的。它来自另外两个 tables,我称之为 table1 和 table2。我将调用另一个 templateTable。

基本上,我从 TRUNCATE 开始,以完全擦除 templateTable 上的信息。当它被填满时,我希望它是空的,除了让我感到舒服 table 之外没有任何原因。没有其他 table 得到 t运行 满足,只有这个 table 每次查询是 运行.

之后,有一个大量的 INSERT 查询从 table1 和 table2 获取信息并将所有这些信息放入 templateTable 的特定列中。

此时查询 3 是更新,查询 3 - 8 几乎也是。它们都是更新查询。我将它们与第二个查询分开进行,其中所有内容都会被填充,因为每个更新都有一个 CASE 和不同的要求。

我想为这些查询创建一个过程,这样他们就可以 运行 一个过程,然后收工。但我不确定如何组合填充和更正此 templateTable 中的信息的 8 个查询。我应该提一下,我不只是从一个 table 中获取信息并将其粘贴到模板表中——它更像是 "case when table1.modelNum = 1234 then templateTable.modelNum = 5678"。

您可以将所有 8 个 SQL 语句包装在 MySQL 的过程中,如下所示:

CREATE PROCEDURE MyProcedure()
BEGIN 
    <SQL STATEMENT 1>;
    <SQL STATEMENT 2>;
    <SQL STATEMENT 3>;
    <SQL STATEMENT ...>;
END//

然后提交:

exec MyProcedure;