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

Brug for en datetime-kolonne i SQL Server, der automatisk opdateres, når posten ændres

SQL Server har ikke en måde at definere en standardværdi for UPDATE .

Så du skal tilføje en kolonne med standardværdi for at indsætte:

ADD modstamp DATETIME2 NULL DEFAULT GETDATE()

Og tilføj en trigger på den tabel:

CREATE TRIGGER tgr_modstamp
ON **TABLENAME**
AFTER UPDATE AS
  UPDATE **TABLENAME**
  SET ModStamp = GETDATE()
  WHERE **ID** IN (SELECT DISTINCT **ID** FROM Inserted)

Og ja, du skal angive en identitetskolonne for hver trigger.

FORSIGTIG:Vær forsigtig, når du indsætter kolonner i tabeller, hvor du ikke kender koden for applikationen. Hvis din app har kommandoen INSERT VALUES uden kolonnedefinition, vil den give fejl, selv med standardværdien på nye kolonner.



  1. MySQL LOAD DATA INFIL med PÅ DUBLIKAT NØGLEOPDATERING

  2. Konverter 'datetime2' til 'datetime' i SQL Server (T-SQL-eksempler)

  3. Gruppér mysql-forespørgsel med 15 minutters intervaller

  4. MySQL-ydelse – 5 parametre fra konfigurationsfil