Erstellen Sie einen Trigger, der Werte in eine neue Tabelle einfügt, wenn eine Spalte aktualisiert wird

8

Ich habe mir hier einige frühere Antworten zu Triggern angesehen, kann aber nicht genau finden, was ich brauche, aber ich bin mir sicher, dass meine Frage schon beantwortet wurde.

Ich versuche, alle Änderungen an SpalteA und SpalteB in Tabelle1 zu verfolgen.

Wenn sich dieser Wert ändert, möchte ich die Werte verfolgen, indem Sie den vorhandenen Wert und den neuen Wert in eine andere Tabelle mit einem Datum einfügen.

Ich habe versucht, so etwas für die Einfügung zu verwenden, aber nicht sicher, wie man die vorhandenen und neuen Werte der Quelltabelle (table1) hinzufügen kann:

%Vor%

Ich muss (glaube ich) das

verwenden %Vor%

und alle Änderungen durchsehen und diese zuerst einfügen und dann nach dem Update dasselbe tun?

    
Standage 29.03.2012, 19:08
quelle

3 Antworten

7

So etwas sollte tun, was Sie brauchen. Sie würden die INSERT -Anweisungen unterhalb von Werten einfügen, die die durchgeführte Operation in MyLogTable anzeigen.

%Vor%

Wenn Sie möchten, können Sie auch Spalten aus INSERTED und DELETED zu Ihrer Protokolltabelle hinzufügen, wenn Sie die tatsächlichen Spaltenwerte erfassen möchten, die eingefügt oder aktualisiert wurden.

    
Darth Continent 29.03.2012, 19:23
quelle
4

Dies gilt für alle Änderungen und alle Spalten, aber Sie können ändern, wie Sie möchten:

%Vor%     
jimdrang 29.03.2012 19:23
quelle
1

create trigger trigge auf abs
anstatt als

zu aktualisieren %Vor%     
gowtham 17.01.2014 03:06
quelle