Trigger: Update() no campo com o mesmo valor, é validado?

Post rápido depois de meses de inércia e blog fora do ar, agora sob novo domínio!

Surgiu uma dúvida onde eu trabalho e eu achei interessante postar aqui um caso de exemplo para futura referência.

A questão: “Se eu fizer um update em uma coluna, mas usando o mesmo valor, o SQL executa a trigger, ok. Mas a função UPDATE(coluna) é validada? O SQL não é inteligente o suficiente para ignorar o update, uma vez que o campo é o mesmo?”

Se quiser parar por aqui, a resposta é um singelo e simples: Não.

Agora, se quiser ver o caso funcionando… 

Vamos começar criando duas tabelas e uma trigger na primeira, onde ele irá unicamente validar se uma das colunas está sendo atualizada e, em caso positivo, realizará um update na segunda tabela.

Em tempo: Não vou perder tempo criando PK, FK e etc, pois não é o intuito, imaginem que está tudo aqui como manda o figurino.

Ok, até aí, nada demais…

Agora, vamos rodar o update e ver o que acontece….

Bom… Fica aí a dica então… Mesmo que você atualize um campo para o mesmo valor, a função é validada.

PS: Ah, você está se perguntando porque eu faria um update de um campo para o mesmo valor? O Entity Framework mandou lembranças…. Mas isso é um post para um outro blog, não este. 🙂

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.