Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL/MariaDB TRIGGER

Когато пишете тригер, трябва да посочите разделител, така че mysql изрично да изпълнява вашия блок за задействане в рамките на посочения разделител. Ако разделителят не е предоставен, тогава, когато срещне ; в рамките на оператора за задействане той ще се опита да изпълни командата до този блок и следователно може да получите грешки.

Ако използвате инструменти за потребителски интерфейс за генериране на тригера, можете да проверите дали има опция за задаване на разделителя като в PHPMyadmin.

В CLI тригерът трябва да има разделител и той става

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изключение за Grails и MySQL връзка

  2. mysql тип данни за телефонен номер и адрес

  3. Как да сумирате една колона въз основа на групиране в MySQL

  4. Използване на UUID като първичен ключ с Laravel 5

  5. php mysql IN клаузата не работи с CSV променлива. само първият ред е засегнат