1
CREATE TRIGGER myTrigger AFTER UPDATE ON myTable
  WHEN old.field <> 1
    BEGIN
      UPDATE myTable...
    END;

如何添加多个 WHEN 条件?喜欢

CREATE TRIGGER myTrigger AFTER UPDATE ON myTable
  WHEN old.field <> 1
    BEGIN
      UPDATE myTable...
    END;
  ELSE WHEN old.field = 1
    BEGIN
      UPDATE myTable...
    END;      

我必须为它创建两个单独的触发器吗?没有更快的方法吗?

4

1 回答 1

2

你可以这样做:

CREATE TRIGGER myTrigger AFTER UPDATE ON myTable
BEGIN
    UPDATE myTable... WHERE old.field <> 1 AND ... 
    UPDATE myTable... WHERE old.field = 1 AND ...
END;      

虽然我一般不会推荐,因为优化器可能并不总是能够产生智能计划。

于 2013-11-09T13:13:58.010 回答