thelolcat
thelolcat

Reputation: 11545

Multiple WHEN conditions?

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

How can I add multiple WHEN conditions? Like

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

Do I have to create two separate triggers for it? Isn't there a faster way?

Upvotes: 1

Views: 124

Answers (1)

Fabian
Fabian

Reputation: 2972

You can do it like this:

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

Although I would not generally recommend that as the optimizer might not always be able to produce smart plans.

Upvotes: 2

Related Questions