sql >> Base de Datos >  >> RDS >> Sqlserver

Campo de marca de fecha y hora de actualización automática de SQL Server

Puede tener una restricción predeterminada en su DateTime campo que hará que se inserte la fecha/hora actual cuando inserte una nueva fila.

A partir de ahí, debe trabajar con un AFTER UPDATE activador que actualizará su columna de fecha/hora cada vez que se actualice la fila.

No puede realizar esta segunda tarea (actualizar una marca de fecha/hora al actualizar la fila) usando una "fórmula" como dijo, simplemente no funciona de esa manera en SQL Server.

Debe proporcionar un desencadenante algo así:

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