Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL/MariaDB-TRIGGER

Wenn Sie einen Trigger schreiben, müssen Sie ein Trennzeichen angeben, damit mysql Ihren Triggerblock explizit innerhalb des angegebenen Trennzeichens ausführt. Wenn das Trennzeichen nicht angegeben wird, dann, wenn es auf ; trifft Innerhalb der Trigger-Anweisung wird versucht, den Befehl bis zu diesem Block auszuführen, und daher können Fehler auftreten.

Wenn Sie Benutzeroberflächen-Tools zum Generieren des Triggers verwenden, können Sie prüfen, ob es eine Option zum Festlegen des Trennzeichens wie in PHPMyadmin gibt.

In CLI muss der Trigger ein Trennzeichen haben und wird zu

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 ;