TSQL-After Update-Trigger auf update prüfen auf mehrere Spalten in einem UPDATE, WENN

Die grundlegende syntax für einen After Update-trigger in TSQL ist:

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

Nun oben arbeiten konnte, denke ich, aber ist es möglich, beide miteinander zu kombinieren, WENN UPDATES in einem?:
So etwas wie dieses:

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

Könnten Sie eine berechnete Spalte natürlich, aber aus Neugier würde ich gerne wissen, wenn Sie können prüfen, ob Aktualisierungen für mehrere Spalten auf einmal in einem trigger und dann das after update-trigger Modifikation.

Auch jetzt würde Sie wieder die Berechnung der ColumnC für alle Zeilen in der Tabelle - nicht nur die betroffenen Zeilen, die durch eine insert-oder update-operation.....

InformationsquelleAutor J3FFK | 2014-08-01

Schreibe einen Kommentar