RAISEERROR
a ROLLBACK
se používají v syntaxi TSQL (Microsoft SQL Server).
V případě MySQL používáme SIGNAL .. SET MESSAGE_TEXT ..
k vyvolání výjimky uvnitř Triggeru:
BEGIN
IF (DATEDIFF(CURRENT_DATE(),NEW.birth_date) < 6570) THEN
-- Throw Exception
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Age is less than 18 years!';
END IF; -- A semicolon (delimiter) is missing here
END
Chcete-li signalizovat obecnou hodnotu SQLSTATE, použijte '45000', což znamená „neošetřená uživatelsky definovaná výjimka“.
Chybové hodnoty, které jsou dostupné po provedení SIGNAL, jsou hodnota SQLSTATE vyvolaná příkazem SIGNAL a položky MESSAGE_TEXT a MYSQL_ERRNO.