如何在其他存储过程mysql中重用相同的查询代码(不是结果)?

时间:2018-12-11 15:26:26

标签: php mysql stored-procedures routines

我正在处理mysql中的存储过程。

我发现对于某些proc我必须编写sql查询的同一部分,但是我需要一种在所有proc中重用相同查询代码(不是结果)的方法,我该怎么做?

这是我的S.proc:

BEGIN
    SELECT date, sum(size_kg) as `total_size`, sum(net_size) as `total_net_size`,sum(bags) as `total_bags` FROM `stock` WHERE date=CURDATE() GROUP By CURDATE();
END

where子句之前的代码在所有proc中都是相同的,那么我如何重用该查询部分代码(不是结果)?

1 个答案:

答案 0 :(得分:0)

由于此特定过程似乎只是一个简单明了的SELECT语句,因此使其在其他多个地方可重复使用的最简单的方法就是将其变成View。

如果您说的是WHERE子句可能会有所不同,具体取决于使用代码的位置,则只需从View中省略WHERE子句,然后让每个调用者设置自己的WHERE子句以限制视图返回的数据不管它是什么。