TSQL Après Déclencheur de mise à Jour vérifier les mises à jour sur plusieurs colonnes dans une SI la mise à JOUR

La syntaxe de base pour un Après déclencheur de mise à Jour en TSQL est:

CREATE TRIGGER [dbo].[triggerName]
   ON [dbo].[Table]
   AFTER UPDATE, INSERT --trigger when Update or Insert in table
AS BEGIN
    SET NOCOUNT ON;
    IF UPDATE (ColumnA) -- if ColumnA updates start
    begin
        UPDATE Table
        SET ColumnC = ColumnA + ColumnB -- recalculate Column C
    end 
    IF UPDATE (ColumnB) -- if ColumnB updates start
    begin
        UPDATE Table
        SET ColumnC = ColumnA + ColumnB -- recalculate Column C
    end 
END

Maintenant ci-dessus pourraient travailler, je suppose, mais est-il possible de combiner les deux SI des MISES à jour?:
Quelque chose comme ceci:

IF UPDATE (ColumnA) OR (ColumnB) -- if ColumnA or ColumnB updates start
        begin
            UPDATE Table
            SET ColumnC = ColumnA + ColumnB -- recalculate Column C
        end 

Vous pouvez utiliser une colonne calculée, bien sûr, mais par curiosité, j'aimerais savoir si vous pouvez vérifier les mises à jour sur plusieurs colonnes à la fois dans un déclencheur, puis faire l'après déclencheur de mise à jour de la modification.

Aussi, dès maintenant, vous être re-calcul de la ColumnC pour tous les lignes de votre tableau, et pas seulement les lignes affectées par une insertion ou une mise à jour de l'opération.....

OriginalL'auteur J3FFK | 2014-08-01