CREATE OR REPLACE TRIGGER Print_salary_changes
BEFORE DELETE OR INSERT OR UPDATE ON Emp_tab
FOR EACH ROW
WHEN (new.Empno > 0)
DECLARE ..
上面的代码适用于oracle数据库,但它在Mysql中不起作用。
MySQL不支持触发器的WHEN
。请参阅创建触发器语法
相反,您可以在触发器主体中添加 IF
BEGIN
IF NEW.Empno > 0
your logic here
像这样尝试:
BEGIN
DECLARE v INT DEFAULT 1;
CASE v
WHEN 2 THEN SELECT v;
WHEN 3 THEN SELECT 0;
ELSE
BEGIN
END;
END CASE;
END;