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

Campo data/ora di aggiornamento automatico di SQL Server

Puoi avere un vincolo predefinito sul tuo DateTime campo che comporterà l'inserimento della data/ora corrente quando si inserisce una nuova riga.

Da lì in poi, devi lavorare con un AFTER UPDATE trigger che aggiornerà la colonna data/ora ogni volta che la riga viene aggiornata.

Non è possibile eseguire questa seconda attività (aggiornamento di una data/ora durante l'aggiornamento della riga) utilizzando una "formula" come hai detto:semplicemente non funziona in questo modo in SQL Server.

Devi fornire un trigger qualcosa in questo modo:

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