sql >> Database teknologi >  >> RDS >> Mysql

MySQL/MariaDB TRIGGER

Når du skriver en trigger, skal du angive en afgrænser, så mysql eksplicit udfører din triggerblok inden for den angivne afgrænser. Hvis afgrænsningstegnet ikke er angivet, når det støder på nogen ; i trigger-sætningen vil den forsøge at udføre kommandoen indtil den blok, og du kan derfor få fejl.

Hvis du bruger nogen brugergrænsefladeværktøjer til at generere triggeren, kan du kontrollere, om der er en mulighed for at indstille afgrænseren som i PHPMyadmin.

I CLI skal udløseren have en afgrænser, og den bliver

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 ;


  1. Hvordan kan jeg indstille standardværdien for et felt som '0000-00-00 00:00:00'?

  2. MySQL viser resultaterne i alfabetisk rækkefølge, men viser et bestemt element før den alfabetisk sorterede liste

  3. Føj en række til flere rækker i en anden tabel

  4. Udforsker Storage Engine-indstillinger for MariaDB