【发布时间】:2017-11-21 12:17:33
【问题描述】:
Employee 表定义为 Employee(eno, ename, Salary)。
写一个触发器,在工资更新时计算并打印新旧工资的差值。
我尝试了以下触发器。它似乎计算了差异。怎么打印?
DELIMITER $$
CREATE TRIGGER t1
AFTER UPDATE ON employee
FOR EACH ROW
BEGIN
DECLARE sal_diff DECIMAL(10,2);
IF eno = new.eno THEN
IF (new.salary < old.salary) THEN
SET sal_diff = old.salary - new.salary;
ELSE
SET sal_diff = new.salary - old.salary;
END IF;
END IF;
END $$
DELIMITER ;
【问题讨论】:
-
请编辑您的问题并添加您得到的语法错误,这将帮助我们,帮助您。
-
打印不是mysql动词。
-
即使没有打印语句,我也会遇到同样的错误。
-
你需要使用 SET a = b - c (并阅读手册)
-
谢谢!我的错。