Wie Erstellen Sie Trigger, um zu Verfolgen, Letzte Veränderte Daten
CREATE TABLE Member
(
memberID - PK
memberName
dateRegistered - one time process
);
CREATE TABLE MemberLastChanged
(
memberID
memberName
dateEntered
);
Wenn durch Zufall ein Benutzer ändert sein Mitglied name, ich brauche zu verfolgen, die derzeit geändert memberName in eine history-Tabelle.
Z.B. aktuelle info ist:
Benutzerkennung: 5534
memberName: james
Benutzer änderungen an:
Benutzerkennung: 5534
memberName:
daneben
Mittlerweile ist "Mitglied" wird halten die aktuellen Werte:
5534 und mark
UND
"MemberLastChanged" halten wird:
5534 und james
Wie kann ich erreichen, das in t-sql mit trigger?
- Mögliche Duplikate von stackoverflow.com/questions/1962398/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie eine UPDATE-trigger - Trigger haben Zugang zu zwei logische Tabellen, die eine identische Struktur auf die Tabelle, der Sie definiert sind:
Sehen diese MSDN Artikel über die Verwendung dieser logischen Tabellen.
Mit diesen Daten können Sie füllen Sie Ihre Geschichte Tabelle.
Fügen Sie außerdem einen Standardwert GETDATE zu dateRegistered es ist also automatisch erfasst.
Dieser filtert auch dummy-updates durch den Vergleich von alten und neuen Werte (EINGEFÜGT vs GELÖSCHT).
EINGEFÜGT und GELÖSCHT werden, sind spezielle Tabellen, die Sie nur in trigger.
Sie möchten ein
AFTER UPDATE
trigger auf deine Tabelle users - so etwas wie:Grundsätzlich der trigger überprüft, um zu sehen, ob die
memberName
Eigenschaft wurde aktualisiert; wenn ja, wird eine Zeile mit den alten Werten (die in derDeleted
pseudo-Tabelle innerhalb derUPDATE
trigger) eingefügt istMemberLastChanged