Как использовать «Case when» в «after update» триггере?
У меня есть "update" триггер который выглядит вот так:
CREATE DEFINER=`root`@`localhost` TRIGGER `Removal_add` BEFORE UPDATE ON `post_cost` FOR EACH ROW BEGIN
SET NEW.Removal_pl = ((CASE WHEN (SELECT `Poli_csl` FROM slid WHERE slid.id = NEW.id)<10 THEN
(SELECT `Model_R_Hr` FROM rate WHERE rate.id = NEW.id) *
(SELECT `Time_hr` FROM rate WHERE rate.id = NEW.id) * 0.3
ELSE (SELECT `Model_R_Hr` FROM rate WHERE rate.id = NEW.id) *
(SELECT `Time_hr` FROM rate WHERE rate.id = NEW.id) END));
END
Этот триггер у меня работает. Но я еще хочу создать триггер "after update" с этим же условием из триггера выше, но не знаю как это сделать, пока что выдает ошибку.
Сам триггер after update:
CREATE TRIGGER post_2
AFTER UPDATE
ON slid FOR EACH ROW
BEGIN
UPDATE `harld`.`post_cost` SET `Removal_pl` = CASE WHEN NEW.`Poli_csl` WHERE `id` = NEW.id < 10 THEN
(SELECT `Model_R_Hr` FROM rate WHERE rate.id = NEW.id) *
(SELECT `Time_hr` FROM rate WHERE rate.id = NEW.id) * 0.3
ELSE (SELECT `Model_R_Hr` FROM rate WHERE rate.id = NEW.id) *
(SELECT `Time_hr` FROM rate WHERE rate.id = NEW.id) END));
END;
Что не так? Подскажите пожалуйста