Как использовать «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;

Что не так? Подскажите пожалуйста


Ответы (0 шт):