調度MySQL 查詢:庫存評估場景
庫存管理系統通常將產品資料儲存在兩個表中:一個用於儲存商品詳細資料(table_1 ),另一個用於庫存數量(表_2)。出於報告目的,用戶可能需要查看過去日期的庫存估價。但是,當前估價僅適用於當天的數據,因為商品成本和數量可能會隨著採購和銷售而波動。
要解決這個挑戰,一種選擇是安排一項重複任務來產生歷史庫存估價。以下是 MySQL 中的實作方式:
選項 1:事件排程器
MySQL 的事件排程器可讓您在資料庫中執行排程任務。若要安排每天進行股票估價轉儲,請建立名為 stock_dumps 的表,其中包含下列欄位:itemcode、quantity、avgcost、ttlval 和 dump_date。
然後,使用下列SQL 語句建立名為Dumping_event 的事件:
CREATE EVENT `Dumping_event` ON SCHEDULE EVERY 1 DAY ON COMPLETION NOT PRESERVE ENABLE COMMENT '' 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
選項2:Cron作業
或者,您可以建立一個cron 作業或Windows 排程任務來執行執行轉儲的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;
安排任務每天運行,它將產生儲存在 stock_dumps 表中的歷史庫存評估記錄。
以上是如何安排 MySQL 查詢進行每日庫存評估?的詳細內容。更多資訊請關注PHP中文網其他相關文章!