CREATE TRIGGER NAUCZYCIELE_AFTER_UPDATE
AFTER UPDATE OF IMIE ON NAUCZYCIELE //po modyfikacji wartości w kolumnie IMIE; jeśli chcemy aby wyzwalacz odpowiadał na dowolną modyfikację wiersza usuwamy OF IMIE; 
// BEFORE warunek WHEN jest sprawdzany przed zajściem zdarzenia 
//INSTEAD OF jak BEFORE, ale zdarzenie nie następuje (akcja wyzwalacza jest wykonywana zamiast zdarzenia)
//AFTER warunek WHEN jest sprawdzany po zajściu zdarzenia
//ON DATABASE pozwoli zdefiniować wyzwalacz aktywny dla zdarzeń w bazie danych
REFERENCING
OLD AS STARY_WIERSZ //postać starego wiersza przed modyfikacją (występuje również w przypadku zdarzenia usuwania wiersza)
NEW AS NOWY_WIERSZ //postać nowego wiersza po modyfikacji (występuje również w przypadku dodawania nowego wiersza)
//w przypadku braku klauzuli FOR EACH ROW klauzule OLD_TABLE AS STARE_WIERSZE, NEW_TABLE AS NOWE_WIERSZE umożliwiają dostęp do tabel zawierających wiersze przed zmianami oraz po zmianach
FOR EACH ROW //wyzwalacz działa po modyfikacji każdego wiersza w bazie nawet jeśli zdarzenia modyfikujące wiersz pojawiają się w wyniku jednej instrukcji SQL, jeśli chcemy aby wyzwalacz działał po wszystkich modyfikacjach dotyczących jednej instrukcji SQL opuszczamy FOR EACH ROW
WHEN (NOWY_WIERSZ.IMIE IS NULL) //jeśli brak nowej wartości w kolumnie IMIE wstaw IMIE=’<Bezimienny>’
BEGIN
UPDATE NAUCZYCIELE
SET IMIE=’<Bezimienny>’ 
WHERE :NOWY_WIERSZ.ID=ID;
END TRIGGER NAUCZYCIELE_AFTER_UPDATE;
/
