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!