У меня возникли проблемы с выполнением триггеров
Я делаю некоторые упражнения для университета, и я предпочитаю проверить себя в реальном MySQL базы данных.
Упражнение следующее
Схема таблицы:
Result ( <b>Day, Home-Team, Visiting-Team</b>, Goal-Home, Goal-Visiting )
Ranking ( <b>Day, Team</b>, Points )
В упражнении просим определить триггер со следующим правилом
Когда я вставляю кортеж в таблицу Result, если Goal-Home> Goal-Visiting, я должен написать два кортежа в таблице Ranking: один из команды-победителя, а другой - для проигравшего.
Поясняю это на примере
У команд A и B, в день D, был результат G_A против G_B, поэтому я должен написать 2 кортежа в рейтинге с этими правилами
Если G_A> G_B, я должен написать (D, A, 3) и (D, B, 0)
Если G_A = G_B, я должен написать (D, A, 1) и (D, B, 1)
Если G_A
Я проверил этот код на моем MySQL DB, но он не работает (я сделал несколько попыток)
DELIMITER //
CREATE TRIGGER insertRankValues
AFTER INSERT ON Result
FOR EACH ROW
BEGIN
IF NEW.Goal-Home > NEW.Goal-Visiting
INSERT INTO Ranking VALUES ( NEW.Day, NEW.Home-Team, 3);
INSERT INTO Ranking VALUES ( NEW.Day, NEW.Visiting-Team, 0);
END IF;
IF NEW.Goal-Home < NEW.Goal-Visiting
INSERT INTO Ranking VALUES ( NEW.Day, NEW.Home-Team, 0);
INSERT INTO Ranking VALUES ( NEW.Day, NEW.Visiting-Team, 3);
END IF;
IF NEW.Goal-Home = NEW.Goal-Visiting
INSERT INTO Ranking VALUES ( NEW.Day, NEW.Home-Team, 1);
INSERT INTO Ranking VALUES ( NEW.Day, NEW.Visiting-Team, 1);
END IF;
END; //
У вас есть предложения? Почему это не работает?
Заранее благодарим за терпение !!!