Maison >base de données >tutoriel mysql >Comment planifier des requêtes MySQL pour l'évaluation quotidienne des stocks ?

Comment planifier des requêtes MySQL pour l'évaluation quotidienne des stocks ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-28 17:58:12342parcourir

How to Schedule MySQL Queries for Daily Inventory Valuation?

Planification des requêtes MySQL : un scénario de valorisation des stocks

Un système de gestion des stocks stocke généralement les données de produits dans deux tables : une pour les détails des articles (table_1 ) et un autre pour les quantités en stock (table_2). À des fins de reporting, les utilisateurs peuvent avoir besoin de consulter les valorisations des stocks à des dates passées. Cependant, la valorisation actuelle n'est précise que pour les données du jour en cours, car les coûts et les quantités des articles peuvent fluctuer en fonction des achats et des ventes.

Pour relever ce défi, une option consiste à planifier une tâche récurrente pour générer des valorisations historiques des stocks. . Voici comment cela est possible dans MySQL :

Option 1 : Planificateur d'événements

Le planificateur d'événements MySQL vous permet d'exécuter des tâches planifiées dans la base de données. Pour planifier quotidiennement un vidage de valorisation des stocks, créez une table appelée stock_dumps avec les champs suivants : code article, quantité, coût moyen, ttlval et dump_date.

Ensuite, créez un événement nommé Dumping_event à l'aide de l'instruction SQL suivante :

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 Travail

Vous pouvez également créer une tâche cron ou une tâche planifiée Windows pour exécuter un fichier SQL qui effectue le vidage. Le fichier SQL contiendrait l'instruction suivante :

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;

Planifiez l'exécution quotidienne de la tâche et elle générera des enregistrements historiques d'évaluation des stocks stockés dans la table stock_dumps.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn