Как запланировать запрос MySQL?
Могу ли я планировать выполнение задачи с заданным интервалом в MySQL?
У меня есть firebase database MySQL инвентаризации. Структура выглядит следующим образом:
table_1 fields: itmcode, avgcost table_2 fields: itmcode(FK to table_1(itmcode)), quantity
Основой отчета является то, когда я хочу, чтобы данные инвентаризации инвентаризации были мудрыми для прошлой даты.
- Как разделить вывод mysqldump на более мелкие файлы?
- ТРИГГЕРЫ, которые приводят к сбою INSERT? Возможное?
- Порядок Mysql по определенным значениям идентификатора
- Самый простой способ конвертировать Blob в массив байтов
- java.sql.SQLException: Неверное строковое значение: '\ xF0 \ x9F \ x91 \ xBD \ xF0 \ x9F ...'
avgcost
и quantity
изменяются, когда новая покупка отправляется в систему. Я могу запустить запрос, чтобы посмотреть текущую оценку акций, но я хочу, чтобы увидеть оценку акций на предыдущую дату. Как мне это сделать? Для количества я могу добавить продажи и вычесть покупки назад с текущей даты до любой даты, требуемой от отчета, но avgcost является текущим, так как он обновляется каждый раз при покупке.
Мне было интересно, может ли быть выполнен автоматический ежедневный дамп, подобный этому:
SELECT itmcode, quantity, avgcost, (avgcost * quantity) as ttlval FROM table_1 JOIN table_2 ON table_1.itmcode = table_2.itmcode
Можно ли планировать эту задачу непосредственно в MySQL или есть какое-то другое решение?
- Выберите строку с самой последней датой для каждого пользователя
- Как отправить письмо от MySQL 5.1
- Использование индекса, используя временный, с помощью filesort - как это исправить?
- Потерянное соединение с сервером MySQL во время запроса?
- Ошибка MySQL 1093 - Невозможно указать целевую таблицу для обновления в предложении FROM
- Как получить максимум двух значений в MySQL?
- Форматирование командной строки MySQL с помощью UTF8
- Что означает набор символов и сортировка?
у вас есть 2 основных варианта (по крайней мере):
1, Взгляните на планировщик событий
Сначала создайте таблицу, например. stock_dumps с полями
itemcode, количество, 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
Следуйте инструкциям, как включить планировщик в ссылку, опубликованную выше. Примечание. В старых версиях mysql нет планировщика событий
2, Создать задание задания / работы cron:
создать файл 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;
запланировать эту команду:
mysql -uusername -ppassword < /path/to/sql_file.sql
Для этого доступны общие инструменты, такие как EyeShare или AutoSQL.net . EyeShare – это более общий инструмент автоматизации ИТ-процессов, и AutoSQL – это единый инструмент, специально предназначенный для планирования запросов и вывода их (в Excel или CSV).