Задавайте вопросы, мы ответим
Вы не зашли.
Уважаемые мастера подскажите плиз.
есть событие.
SET GLOBAL event_scheduler = ON;
CREATE EVENT Gauging.DataCopyEvnt -- cобытие копирования данных
ON SCHEDULE EVERY 1 MINUTE
DO
BEGIN
UPDATE
Gauging.mf_gaug_point_station_N1 -- передача данных таблицы калибровки параметра nst на станцию N1
SET
nst = (SELECT
Gauging.mf_gaug_point.st
FROM
Gauging.mf_gaug_point
WHERE
Gauging.mf_gaug_point.id = Gauging.mf_gaug_point_station_N1.id AND Gauging.mf_gaug_point.st = 1
);
UPDATE
Gauging.mf_gaug_point
SET
Gauging.mf_gaug_point.st = 0
WHERE
Gauging.mf_gaug_point.st = 1;
END;
Так вот второй апдейт не хочет выполняться. Но если я выполняю его отдельно то все Ок.
Отредактированно lkote (17.08.2010 13:33:35)
Неактивен
А delimiter меняете при создании? Может быть, просто обрезается на половине событие?
Неактивен
а че эт delimiter и с чем его есть. Можно плиз по подробнее. Событие вообще то длинное я привел лишь часть. Но последними апдейтами мне нужно очистить поле st в таблицах исходных данных. Так вот только вот эти апдейты и не работают. Ранее я тоже встречал такое но избавлялся перестановкой апдейта в коде. А здесь мне не переставлять нельзя.
Отредактированно lkote (17.08.2010 14:06:36)
Неактивен
delimiter — это разделитель. По умолчанию это точка с запятой, но раз Вы ее
используете для отделения одного UPDATE от другого, ее нужно заменять
Вообще говоря, события должны писать ошибки в журнал ошибок. Т.е. скорее
всего возникает какая-то ошибка, ее надо найти и устранить. Если ошибок нету,
то можно попробовать сделать процедуру и выполнить ее вручную.
Неактивен
Ошибку нашел. Событие копирует данные из таблицы на 2 станции. Ну а в распоряжении конечно одна. Так вот после фрагмента копирования на не подключенную станцию и видимо вылетало. Сделал имитацию 2 идентичные ДБ и все заработало. А ошибок не выводит Работаю с db Forge Studio. Где и как смотреть журнал ошибок.
Неактивен
Стандартный журнал ошибок MySQL. Под виндоус, наверное, в журнал событий
системы пишет.
Неактивен