調度 MySQL 查詢
MySQL 中的事件調度程序功能允許使用者安排任務以指定的時間間隔運行。此功能在各種場景中都很有用,例如定期資料備份或定期產生報告。
案例研究:庫存評估
您有一個庫存資料庫,其中您需要產生過去日期的按項目評估的報告。雖然您可以手動計算當前庫存的估值,但您還需要一種方法來追蹤歷史估值。
解決方案:使用事件調度程序
安排查詢將估價資料轉儲到單獨的表中,請按照以下步驟操作:
建立目的地表:
CREATE TABLE stock_dumps ( itemcode VARCHAR(255), quantity INT, avgcost DECIMAL(10,2), ttlval DECIMAL(10,2), dump_date DATETIME );
設置計劃:
CREATE EVENT Dumping_event ON SCHEDULE EVERY 1 DAY ON COMPLETION NOT PRESERVE ENABLE DO BEGIN INSERT INTO stock_dumps ( itemcode, quantity, avgcost, ttlval, dump_date ) SELECT itmcode, quantity, avgcost, (avgcost * quantity) AS ttlval, NOW() FROM table_1 JOIN table_2 ON table_1.itmcode = table_2.itmcode; END;
替代方案:使用計劃/計劃作業
如果您不想使用事件調度程序,您可以建立一個cron 作業或排程任務來定期執行包含轉儲查詢的 SQL 檔案。
創建SQL檔:
INSERT INTO stock_dumps ( itemcode, quantity, avgcost, ttlval, dump_date ) SELECT itmcode, quantity, avgcost, (avgcost * quantity) AS ttlval, NOW() FROM table_1 JOIN table_2 ON table_1.itmcode = table_2.itmcode;
排程作業:
mysql -u [user] -p [password] < /path/to/SQL_file.sql
每天安排此或查詢根據需要,您可以維護庫存評估的歷史記錄並產生任何過去的報告日期。
以上是如何在 MySQL 中自動產生每日庫存評估報告?的詳細內容。更多資訊請關注PHP中文網其他相關文章!