MySQL-Abfragen planen
Mit der Ereignisplanerfunktion in MySQL können Benutzer die Ausführung von Aufgaben in bestimmten Intervallen planen. Diese Funktionalität ist in verschiedenen Szenarien von Vorteil, beispielsweise bei der regelmäßigen Datensicherung oder der regelmäßigen Erstellung von Berichten.
Fallstudie: Bestandsbewertung
Sie verfügen über eine Bestandsdatenbank, in der Sie müssen Berichte zur artikelbezogenen Bewertung für vergangene Daten erstellen. Während Sie die Bewertung für den aktuellen Bestand manuell berechnen können, benötigen Sie auch eine Möglichkeit, die historische Bewertung zu verfolgen.
Lösung: Event Scheduler verwenden
So planen Sie eine Abfrage Führen Sie die folgenden Schritte aus, um Bewertungsdaten in einer separaten Tabelle abzulegen:
Erstellen Sie ein Ziel Tabelle:
CREATE TABLE stock_dumps ( itemcode VARCHAR(255), quantity INT, avgcost DECIMAL(10,2), ttlval DECIMAL(10,2), dump_date DATETIME );
Einrichtungsplanung:
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;
Alternative: Verwenden Cron/Geplanter Job
Wenn Sie Event lieber nicht verwenden möchten Mit dem Scheduler können Sie einen Cron-Job oder eine geplante Aufgabe erstellen, die regelmäßig eine SQL-Datei mit der Dump-Abfrage ausführt.
Erstellen Sie eine SQL-Datei:
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 Job:
mysql -u [user] -p [password] < /path/to/SQL_file.sql
Indem Sie diese Abfrage täglich oder so oft wie nötig planen, können Sie eine historische Aufzeichnung der Bestandsbewertungen führen und Berichte für jedes vergangene Datum erstellen.
Das obige ist der detaillierte Inhalt vonWie kann ich tägliche Bestandsbewertungsberichte in MySQL automatisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!