Heim >Datenbank >MySQL-Tutorial >Wie plant man MySQL-Abfragen für die tägliche Bestandsbewertung?
Planung von MySQL-Abfragen: Ein Bestandsbewertungsszenario
Ein Bestandsverwaltungssystem speichert Produktdaten normalerweise in zwei Tabellen: eine für Artikeldetails (Tabelle_1 ) und eine weitere für Bestandsmengen (Tabelle_2). Zu Berichtszwecken müssen Benutzer möglicherweise Bestandsbewertungen zu vergangenen Daten anzeigen. Die aktuelle Bewertung ist jedoch nur für die Daten des aktuellen Tages korrekt, da Artikelkosten und -mengen je nach Käufen und Verkäufen schwanken können.
Um dieser Herausforderung zu begegnen, besteht eine Möglichkeit darin, eine wiederkehrende Aufgabe zu planen, um historische Bestandsbewertungen zu erstellen . So ist es in MySQL möglich:
Option 1: Event Scheduler
Mit dem Event Scheduler von MySQL können Sie geplante Aufgaben innerhalb der Datenbank ausführen. Um täglich einen Lagerbewertungs-Dump zu planen, erstellen Sie eine Tabelle namens stock_dumps mit den folgenden Feldern: Artikelcode, Menge, Durchschnittskosten, TTL-Wert und Dump_Datum.
Erstellen Sie dann ein Ereignis namens Dumping_event mit der folgenden SQL-Anweisung:
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
Option 2: Cron Job
Alternativ können Sie einen Cron-Job oder eine geplante Windows-Aufgabe erstellen, um eine SQL-Datei auszuführen, die den Dump ausführt. Die SQL-Datei würde die folgende Anweisung enthalten:
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;
Planen Sie die Aufgabe so, dass sie täglich ausgeführt wird, und sie generiert historische Datensätze zur Bestandsbewertung, die in der Tabelle stock_dumps gespeichert sind.
Das obige ist der detaillierte Inhalt vonWie plant man MySQL-Abfragen für die tägliche Bestandsbewertung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!