Wyzwalacz (ang. trigger) – procedura wykonywana automatycznie jako reakcja na pewne zdarzenia w tabeli bazy danych. Wyzwalacze mogą ograniczać dostęp do pewnych danych, rejestrować zmiany danych lub nadzorować modyfikacje danych.
Systemy baz danych posiadające wyzwalacze: Microsoft SQL Server, PostgreSQL, Sybase, Oracle, Firebird, SQLite, InterBase SQL, MySQL (od wersji 5.0.2), Progress.
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 oraz Firebird, natomiast system bazodanowy Microsoftu używa składni w wielu miejscach różniącej się od wytycznych.
Istnieje kilka typów wyzwalaczy. Wyzwalacze BEFORE - wykonywane przed instrukcją generującą zdarzenie. Wyzwalacze AFTER są wykonane po instrukcji generującej zdarzenie. W niektórych bazach danych są również wyzwalacze INSTEAD OF - są one wykonywane zamiast instrukcji generującej zdarzenie.
Istnieją trzy typowe zdarzenia powodujące wykonanie wyzwalaczy:
Główne cechy wyzwalaczy to: