Как запланировать запрос MySQL?

Могу ли я планировать выполнение задачи с заданным интервалом в MySQL?

У меня есть firebase database MySQL инвентаризации. Структура выглядит следующим образом:

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

Основой отчета является то, когда я хочу, чтобы данные инвентаризации инвентаризации были мудрыми для прошлой даты.

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 или есть какое-то другое решение?

у вас есть 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).

  • ВЫБЕРИТЕ * ГДЕ НЕ СУЩЕСТВУЕТ
  • Ошибка синтаксиса из-за использования зарезервированного слова в качестве имени таблицы или столбца в MySQL
  • удалить все числовые символы из столбца mysql
  • Сохранение hash-значений SHA1 в MySQL
  • Экспорт MySQL в outfile: CSV экранирование символов
  • Не удается подключиться к серверу базы данных (mysql workbench)
  • Как вы отлаживаете хранимые процедуры MySQL?
  • Получение последней записи в каждой группе - MySQL
  • Как добавить ссылку на соединитель MySQL для .NET?
  • Получить все столбцы из всех таблиц MySQL
  • Как установить формат автоинкремента в 0001 в MySQL?
  • Interesting Posts

    Виджет не обновляется при перезапуске

    Как вы можете выполнить чистое завершение работы Windows Explorer?

    ssl.SSLError: версия протокола предупреждения tlsv1

    Grub застрял на загрузке Grub

    Как вычесть день с даты?

    Почему nvcc не удается скомпилировать файл CUDA с boost :: spirit?

    Значение переменной доступа с использованием строки, представляющей имя переменной в C ++

    Добавьте «Просмотреть больше» в конце текстового просмотра после трех строк

    Запустить почтовый клиент с приложением?

    Что такое IDL?

    Угловая JS: Какова потребность в функции ссылки директивы, когда у нас уже есть controller директивы с объемом?

    Событие изменения триггера автозаполнения jQuery

    CMake находит Boost, но импортированные цели недоступны для версии Boost

    PuTTY как выбрать текст и скопировать текст с помощью клавиатуры ТОЛЬКО

    В Visual Studio (2008) есть ли способ иметь настраиваемый зависимый файл в другом пользовательском файле?

    Давайте будем гением компьютера.