Previous Topic: Data TypesNext Topic: CREATE VIEW


CREATE TRIGGER/RULE

►►─ CREATE ─┬─ TRIGGER ─┬─ trig-name ─┬─ BEFORE ─┬────────────────────────────►
            └─ RULE ────┘             └─ AFTER ──┘

 ►─┤trig-event├┬─ ON ───┬─ table-name ─┬───────────────────┬─┤trig-action├────►◄
               ├─ OF ───┤              └─┤trig-references├─┘
               ├─ FROM ─┤
               └─ INTO ─┘

Expansion of trig-event

   ┌─ , ───────────────────────────────────┐
├──▼─┬─ INSERT ──────────────────────────┬─┴───────────────────────────────────┤
     ├─ UPDATE ─┬──────────────────────┬─┤
     │          └┬────┬─(column-list) ─┘ │
     │           └ OF ┘                  │
     └─ DELETE ──────────────────────────┘

Expansion of trig-references

├── REFERENCING ─┬─┤old-row├─────────┬─────────────────────────────────────────┤
                 ├─┤new-row├─────────┤
                 ├─ old-row,new-row ─┤
                 └─ new-row,old-row ─┘

Expansion of old-row

├── OLD ─┬───────┬─ AS correlation-name ───────────────────────────────────────┤
         └─ ROW ─┘

Expansion of new-row

├── NEW ─┬───────┬─ AS correlation-name ───────────────────────────────────────┤
         └─ ROW ─┘

Expansion of trig-action

├──┬────────────────┬─┬───────────────┬─┬─ call-procedure ────┬────────────────┤
   └─ FOR EACH ROW ─┘ └─┤when-clause├─┘ └─ execute-procedure ─┘

Expansion of when-clause

├──┬─ WHEN ──┬─ boolean-expression ────────────────────────────────────────────┤
   └─ WHERE ─┘