Heim  >  Artikel  >  Datenbank  >  Wie kann ich tägliche Bestandsbewertungsberichte in MySQL automatisieren?

Wie kann ich tägliche Bestandsbewertungsberichte in MySQL automatisieren?

Linda Hamilton
Linda HamiltonOriginal
2024-11-26 21:21:11331Durchsuche

How Can I Automate Daily Inventory Valuation Reports in MySQL?

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:

  1. 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
    );
  2. 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.

  1. 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;
  2. 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn