繁体   English   中英

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

[英]How to reuse same query code (Not result) in other stored procedures mysql?

我正在研究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中都是相同的,那么我如何重用该查询部分代码(不是结果)?

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

如您所说,如果WHERE子句根据使用代码的位置而有所不同,则只需从View中省略WHERE子句,然后让每个调用者设置自己的WHERE子句以将视图返回的数据限制为任何内容需要是。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM