Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie kann man die Anzahl der Änderungen verfolgen, die in einer Spalte aufgetreten sind? T-SQL - SQL-Server

Zunächst einmal - falls noch nicht implementiert, ist es sehr ratsam, Mitarbeiter durch eine dauerhafte Kennung (d. h. NICHT Mitarbeitername) identifizieren zu lassen, damit Sie alles im Auge behalten.

Wenn Sie einen Trigger verwenden möchten, können Sie einen AFTER UPDATE-Trigger verwenden und mithilfe von if update(EmployeeName) nach einer Namensänderung suchen .

Wenn das aktualisiert wurde, könnten Sie gleichzeitig die count-Spalte in der Employee-Tabelle erhöhen. Verwenden Sie den inserted Tabelle, um diejenigen Einträge zu identifizieren, die aktualisiert wurden. (Ist die Zählung wichtig? Wenn Sie eine Historie der Namensänderungen speichern, denke ich nicht, dass es notwendig ist, eine Zählungsspalte zu haben - es ist eine redundante Information.)

Sie würden dann eine Zeile zu Ihrer Mitarbeiternamen-Verlaufstabelle hinzufügen, die die Details dieser Änderung mit dem aktuellen Zeitstempel enthält.