Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Campo de carimbo de data e hora de atualização automática do SQL Server


Você pode ter uma restrição padrão em seu DateTime campo que fará com que a data/hora atual seja inserida quando você inserir uma nova linha.

A partir daí, você precisa trabalhar com um AFTER UPDATE gatilho que atualizará sua coluna de data/hora toda vez que a linha for atualizada.

Você não pode fazer essa segunda tarefa (atualizar um carimbo de data/hora ao atualizar a linha) usando uma "fórmula" como você disse - simplesmente não funciona dessa maneira no SQL Server.

Você precisa fornecer um gatilho algo nesse sentido:
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