I try to do tregger BEFORE UPDATE but keep getting an error I need to create trigger BEFORE UPDATE test what change and put that change to table logi
DROP TRIGGER IF EXISTS `logs`;
DELIMITER //
CREATE DEFINER=`ams`@`%` TRIGGER `logs`
BEFORE UPDATE ON `faktury` FOR EACH ROW
begin
IF (new.uwagi != old.uwagi) THEN
BEGIN
INSERT logs (`text_logi`, `lp`, `tabela_logi`) VALUES ( CONCAT(CONCAT("Zmiana magazynu: ",old.uwagi," -> ", new.uwagi), new.lp_fvat, "FAKTURY" );
END;
end if;
if (new.klient != old.klient) THEN
BEGIN
INSERT logs (`text_logi`, `lp`, `tabela_logi`) VALUES ( CONCAT(CONCAT("Zmiana magazynu: ",old.klient," -> ", new.klient), new.lp_fvat, "FAKTURY" );
END;
end if;
INSERT logs (`text_logi`, `lp`, `tabela_logi`) VALUES ( CONCAT(CONCAT("Zmiana magazynu: ",old.magazyn," -> ", new.magazyn), new.lp_fvat, "FAKTURY" );
END;
end if;
if (new.data_faktury != old.data_faktury) THEN
BEGIN
INSERT logs (`text_logi`, `lp`, `tabela_logi`) VALUES ( CONCAT(CONCAT("Zmiana magazynu: ",old.data_faktury," -> ", new.data_faktury), new.lp_fvat, "FAKTURY" );
END;
end if;
end //
Error:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ';
END;
end if;
if (new.klient != old.klient) THEN
BEGIN ...' at line 6
Could you please any one give me tha idea to solve this?
try this :