Início > SQL Server > if update no SQL Server

if update no SQL Server

Nesse último projeto que estou trabalhando fazemos a integração entre dois sistemas. Para isso criamos triggers no SQL de origem que controla qualquer alteração que precise ser espelhada.

Mas na nossa regra de negócio só queremos inserir na fila de integração se o registro estiver ativo.
Inicialmente utilizamos o comando “if update(NOMEDOCAMPO)”.
O problema é que esse comando simplesmente verifica se o campo sofreu alteração, e não se ele mudou de valor.

Nesse caso mudamos a trigger para funcionar na seguinte forma:

if ((select inserted.FlagAtiva from Inserted) <> 
(Select deleted.FlagAtiva from deleted))

 

Só é importante tomar cuidado que a tabela “inserted” pode conter mais de um registro. Faça uma programação defensiva.

Anúncios
Categorias:SQL Server
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: