Задать вопрос
@telop

Как использовать «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" с этим же условием из триггера выше, но не знаю как это сделать, пока что выдает ошибку.
Сам триггер:
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;

Что не так?
  • Вопрос задан
  • 97 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы