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;
您几乎已经做到了,在mysql中不允许使用TR_03。我还认为updating((是数据库中的一个函数所以使用
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 ;