У меня есть некоторые записи в моей БД со специальным статусом, пусть говорят t_status
= 'T', и я хочу обновить каждый t_status
которого t_moddate
старше 45 минут, до t_status
= 'X'.
Как я могу поместить это в хранимую процедуру в Maria DB?
Моя таблица выглядит следующим образом:
имя таблицы: тестовые столбцы: t_id, t_status, t_moddate, t_usr_update
Я думаю, мое обновление выглядит следующим образом:
UPDATE TEST SET t_status = 'X' where t_status = 'T' and t_moddate <= now()- interval(45 minutes);
CREATE PROCEDURE myProc()
BEGIN
UPDATE TEST
SET t_status = REPLACE (first_name, 'T', 'X')
WHERE t_status = 'T' and t_moddate <= now()- interval 45 minute;
END$$
Но как мне получить это в хранимой процедуре, чтобы она запускалась по умолчанию?
Вы можете использовать EVENT, выполняемый по часам или независимо от выбранного вами интервала. Сначала включите его
SET GLOBAL event_scheduler = ON;
Затем напишите соответствующее событие
CREATE EVENT somename
ON SCHEDULE EVERY '1' HOUR
STARTS '2017-25-12 00:00:00'
DO
UPDATE TEST
SET t_status = REPLACE (first_name, 'T', 'X')
WHERE t_status = 'T' AND t_moddate <= now()- interval(45 minutes);
STARTS
и мне нужно было изменить интервал наinterval 45 minute
чем он работает. Спасибо