如何使用' WHEN' MySQL触发器中的子句?

时间:2016-02-01 04:47:16

标签: mysql sql triggers

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中运行。

2 个答案:

答案 0 :(得分:0)

MySQL不支持

WHEN触发器。见create trigger syntax

相反,您可以在触发器主体中添加IF

BEGIN
    IF NEW.Empno > 0
       your logic here

答案 1 :(得分:0)

尝试这样:

  BEGIN
    DECLARE v INT DEFAULT 1;

    CASE v
      WHEN 2 THEN SELECT v;
      WHEN 3 THEN SELECT 0;
      ELSE
        BEGIN
        END;
    END CASE;
  END;
相关问题