¿Cómo progtwigr una consulta MySQL?

¿Puedo progtwigr una tarea para que se ejecute en un intervalo específico en MySQL?

Tengo una base de datos de inventario MySQL. La estructura es la siguiente:

table_1 fields: itmcode, avgcost table_2 fields: itmcode(FK to table_1(itmcode)), quantity 

La base del informe es cuando quiero los detalles de la valoración del inventario para una fecha pasada.

Los campos de avgcost y quantity se cambian cuando se contabiliza una nueva compra en el sistema. Puedo ejecutar una consulta para ver la valoración de stock actual, pero también quiero poder ver la valoración de stock en una fecha anterior. ¿Cómo puedo hacer eso? Para la cantidad, puedo agregar las ventas y deducir las compras hacia atrás desde la fecha actual hasta la fecha que requiera el informe, pero el promedio es actual, ya que esto se actualiza cada vez que se publica una compra.

Me preguntaba si se podría ejecutar un volcado diario automático, similar a esto:

 SELECT itmcode, quantity, avgcost, (avgcost * quantity) as ttlval FROM table_1 JOIN table_2 ON table_1.itmcode = table_2.itmcode 

¿Es posible progtwigr esta tarea directamente en MySQL o hay alguna otra solución?

tienes 2 opciones básicas (al menos):

1, echa un vistazo al Progtwigdor de eventos

Primero crea una tabla, por ej. stock_dumps con campos

itemcode, quantity, avgcost, ttlval, dump_date (DATETIME)

 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 

Siga las instrucciones sobre cómo habilitar el progtwigdor en el enlace publicado anteriormente. Nota: las versiones antiguas de mysql no tienen planificador de eventos

2, crea trabajo cron / trabajo progtwigdo de Windows:

crear archivo sql:

 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; 

progtwigr este comando:

 mysql -uusername -ppassword < /path/to/sql_file.sql 

Hay herramientas genéricas disponibles como EyeShare o AutoSQL.net para hacer esto. EyeShare es una herramienta de automatización de procesos de TI más genérica y AutoSQL es una herramienta de propósito único específicamente para progtwigr consultas y enviarlas (a Excel o CSV).