Ho scritto un trigger che deve eseguire un lavoro diverso su una tabella in base a quali colonne in una riga vengono effettivamente aggiornate. Ho compiuto questo utilizzandoIl trigger TSql deve essere attivato solo sulle colonne i cui valori sono stati modificati
IF UPDATE(column-name)
Quella parte funziona bene. Risulta, tuttavia, che ci sono altre parti del codice che aggiornano le righe impostando ogni singolo valore indipendentemente dal fatto che il valore sia effettivamente cambiato e questo fa innescare il trigger per le parti che sono state "aggiornate" ma i cui valori in realtà non cambiano affatto.
Poiché la modifica del codice che causa questo non è probabilmente un'opzione, esiste un modo più semplice per evitare che questo debba essere confrontato tra le tabelle INSERTED e DELETED (nel qual caso gli UPDATE IF non hanno significato)?