簡體   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