Olá Denis;
Não funcionou da maneira que queria. Vou tentar explicar como a trigger funciona no sqlServer para que eu possa me explicar melhor.
Ao alterar um campo na tabela a trigger é disparada deletando um campo de outra tabela, é aí que o BINARY_CHECKSUM do sqlServer entra em ação porque ele só vai deletar o campo se houver uma real alteração em algum campo, se por exemplo ocorrer o update sem alteração de campo nada sera feito. O jeito que arranjei no mySql é meio tosco e bem trabalhoso fica dessa forma.
DELIMITER $$
CREATE TRIGGER Agendamento_AU AFTER UPDATE
ON Agendamento
FOR EACH ROW
BEGIN
if !( old.campoTavela <=> new.campoTavela ) then
delete from AgendamentoImportadoMobile where Agendamento_IDAgendamento = new.IDAgendamento;
end if;
END $$
DELIMITER ;
Esse código acima funciona da maneira que eu quero mais eu tenho que passar campo a campo das tabelas o que é algo bem trabalhoso e pode gerar falhas no sqlServer ele fica da seguinte forma:
ALTER TRIGGER [dbo].[Agendamento_AU]
ON [dbo].[Agendamento]
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
delete AgendamentoImportadoMobile
from AgendamentoImportadoMobile AI
where (select BINARY_CHECKSUM(*) from deleted d where d.IDAgendamento = AI.Agendamento_IDAgendamento)
!= (select BINARY_CHECKSUM(*) from inserted i where i.IDAgendamento = AI.Agendamento_IDAgendamento)
END
Só com essas linhas eu consigo varrer todas a colunas da tabela