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

Datetimestamp-Feld für die automatische Aktualisierung von SQL Server

Sie können eine Standardeinschränkung für Ihre DateTime haben Feld, das bewirkt, dass das aktuelle Datum/die aktuelle Uhrzeit eingefügt wird, wenn Sie eine neue Zeile einfügen.

Ab da muss mit einem AFTER UPDATE gearbeitet werden Auslöser, der Ihre Datums-/Zeitspalte jedes Mal aktualisiert, wenn die Zeile aktualisiert wird.

Sie können diese zweite Aufgabe (Aktualisieren eines Datums-/Zeitstempels beim Aktualisieren der Zeile) nicht mit einer "Formel" ausführen, wie Sie gesagt haben - es funktioniert einfach nicht so in SQL Server.

Sie müssen einen Auslöser wie folgt bereitstellen:

CREATE TRIGGER trgYourTableUpdateTimestamp
  ON dbo.YourTable FOR UPDATE
AS BEGIN
   UPDATE 
      dbo.YourTable 
   SET 
      YourTimeStampColumn = GETDATE()
   FROM 
      Inserted Ins
   WHERE
      dbo.YourTable.SomeUniqueId = Ins.SomeUniqueId
END