mysql выдает ошибку с IF, что мне делать? - PullRequest
0 голосов
/ 19 февраля 2020
 create trigger TR_03
  before update
  on empleados
  for each row
 begin
  if updating('idempleado') then
   insert into controlCambio values("superusuarioalber",now(), old.idempleado, new.idempleado);
  end if;
  if updating('nombre') then
   insert into controlCambios values("superusuarioalber",now(), old.nombre, new.nombre);
  end if;
  if updating('documento') then
   insert into controlCambios values("superusuarioalber",now(), old.documento, new.documento);
  end if;
  if updating('cargo') then
   insert into controlCambios values("superusuarioalber",now(), old.cargo, new.cargo);
  end if;
 end TR_03;

1 Ответ

0 голосов
/ 19 февраля 2020

У вас почти все верно, ваш конец TR_03 не разрешен в mysql. И я также думаю, что update () - это функция в вашей базе данных, поэтому используйте

DELIMITER $$
create trigger TR_03 
before update on empleados 
for each row 
begin 
  if updating('idempleado') then 
    insert into controlCambio values("superusuarioalber",now(), old.idempleado, new.idempleado); 
  end if; 
  if updating('nombre') then 
    insert into controlCambios values("superusuarioalber",now(), old.nombre, new.nombre);   
  end if; 
  if updating('documento') then 
    insert into controlCambios values("superusuarioalber",now(), old.documento, new.documento); 
  end if; 
  if updating('cargo') then 
    insert into controlCambios values("superusuarioalber",now(), old.cargo, new.cargo); 
  end if; 
end $$
DELIMITER ;
...