Kiedy piszesz wyzwalacz, musisz określić ogranicznik, aby mysql jawnie wykonał twój blok wyzwalacza wewnątrz określonego ogranicznika. Jeśli separator nie jest podany, to gdy napotka jakikolwiek ;
w instrukcji wyzwalacza będzie próbował wykonać polecenie do tego bloku i dlatego mogą pojawić się błędy.
Jeśli używasz narzędzi interfejsu użytkownika do generowania wyzwalacza, możesz sprawdzić, czy istnieje opcja ustawienia ogranicznika, jak w PHPMyadmin.
W CLI wyzwalacz musi mieć ogranicznik i staje się
delimiter //
create trigger Q_DUR_CALC before insert on TASK_Q_SWH
for each row
begin
declare LCL_Q_DUR INTEGER;
set LCL_Q_DUR = new.TQ_TASK_DUR - new.TQ_TASK_RUN_DUR;
SET new.TQ_Q_DUR = LCL_Q_DUR;
end;//
delimiter ;