DELIMITER $$
CREATE TRIGGER update_fxj_before_update
after UPDATE ON fxj
FOR EACH ROW
BEGIN
-- 仅当 stknew 发生变化时执行
IF NEW.stknew <> OLD.stknew OR (NEW.stknew IS NULL AND OLD.stknew IS NOT NULL) OR (NEW.stknew IS NOT NULL AND OLD.stknew IS NULL) THEN
-- 更新 c2exp12 的逻辑
IF old.expma12 = 0 THEN
SET c2exp12 = 100;
ELSE
SET c2exp12 = (NEW.stknew - NEW.expma12) / NEW.expma12 * 100;
END IF;
-- 更新 c2exp50 的逻辑
IF old.expma50 = 0 THEN
SET c2exp50 = 100;
ELSE
SET c2exp50 = (NEW.stknew - NEW.expma50) / NEW.expma50 * 100;
END IF;
END IF;
END$$
DELIMITER ;
1362 - Updating of NEW row is not allowed in after trigger
时间: 0.042s