(c) Instytut Informatyki Politechniki Poznańskiej
6
Klauzula FOR EACH ROW i WHEN
•w klauzuli  WHEN i ciele wyzwalacza FOR EACH ROW można uzyskać dostęp do starej i nowej wartości atrybutu
•domyślnie stara i nowa wersja rekordu są dostępne przez nazwy OLD i NEW (w ciele wyzwalacza poprzedzane dwukropkiem), można to zmienić za pomocą klauzuli REFERENCING NEW AS n
•dla instrukcji INSERT stara wartość jest pusta, dla instrukcji DELETE nowa wartość jest pusta
CREATE OR REPLACE TRIGGER test
BEFORE UPDATE ON pracownicy
FOR EACH ROW WHEN (OLD.placa_dod < 100)
BEGIN
    IF (:NEW.placa_pod <= 100) THEN ... END IF;
    IF (:NEW.etat != :OLD.etat) THEN ... END IF;
END;