Wyzwalacz
Z Wikipedii
Wyzwalacz, trigger – procedura wykonywana na serwerze bazodanowym (najczęściej relacyjna baza danych) w określonym momencie, na przykład dopisania nowego rekordu do tabeli, edycji rekordu w tabeli, skasowanie rekordu z tabeli.
Zastosowanie:
- do sprawdzania integralności bazy danych,
- do wykonywania czynności porządkowych w bazie danych
Bazy danych posiadające wyzwalacze: Microsoft SQL Server, PostgreSQL, Sybase, Oracle, Firebird, SQLite, InterBase SQL, MySQL (od wersji 5.0.2)
Standard języka SQL zdefiniował wyzwalacze dość późno, bo dopiero od wersji 99. Z tego powodu różne systemy bazodanowe opracowały własną składnię tworzenia wyzwalaczy. Dość blisko standardu jest Oracle, natomiast system bazodanowy Microsoftu używa składni w wielu miejscach różniącej się od wytycznych.
Poniższy kod w języku PL/SQL (Oracle) tworzy wyzwalacz, który wykonuje predefiniowaną czynnosc, gdy wewnątrz transakcji zostanie zmieniona wartość pola placa tabeli pracownicy.
CREATE TRIGGER kontrola_placy BEFORE UPDATE ON pracownicy FOR EACH ROW IF :NEW.placa <> :OLD.placa THEN czynnosc END IF; END;