sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan sporer man antallet af ændringer, der er sket i en kolonne? T-SQL - SQL Server

Først og fremmest - hvis det ikke allerede er implementeret, er det meget tilrådeligt at have medarbejdere identificeret med en permanent identifikator (dvs. IKKE EmployeeName), så du kan holde styr på alt.

Hvis du vil bruge en trigger, kan du bruge en AFTER UPDATE-trigger og se efter en ændring af navnet ved hjælp af if update(EmployeeName) .

Hvis det er blevet opdateret, kan du øge optællingskolonnen i tabellen medarbejder på samme tid. Brug den inserted tabel for at identificere de poster, der er blevet opdateret. (Er optællingen afgørende? Hvis du gemmer en historik over navneændringerne, tror jeg ikke, det er nødvendigt at have en optællingskolonne - det er overflødige oplysninger.)

Du vil derefter tilføje en række til din medarbejders navnehistoriktabel, der indeholder detaljerne om denne ændring med det aktuelle tidsstempel.



  1. Slip alle funktioner fra Postgres database

  2. Underlig opførsel af SUM og CONCAT i MySql

  3. oracle PL/SQL hvordan man beregner range ip for IPv6 cidr

  4. T-SQL Stuff Kommando