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

Come si aggiunge una colonna "ultima modifica" e creata in una tabella di SQL Server?

Il created la colonna è semplice:solo un DATETIME2(3) colonna con un vincolo predefinito che viene impostato quando viene inserita una nuova riga:

Created DATETIME2(3) 
   CONSTRAINT DF_YourTable_Created DEFAULT (SYSDATETIME())

Quindi, quando inserisci una riga in YourTable e non specificare un valore per Created , verrà impostato sulla data e l'ora correnti.

Il modified è un po' più di lavoro, dal momento che dovrai scrivere un trigger per AFTER UPDATE case e aggiornalo:non puoi dichiarare a SQL Server di farlo per te....

Modified DATETIME2(3)

e poi

CREATE TRIGGER updateModified
ON dbo.YourTable
AFTER UPDATE 
AS
   UPDATE dbo.YourTable
   SET modified = SYSDATETIME()
   FROM Inserted i
   WHERE dbo.YourTable.PrimaryKey = i.PrimaryKey

Devi unirti a Inserted pseudo tabella che contiene tutte le righe che sono stati aggiornati con la tua tabella di base sulla tua chiave primaria per quel tavolo.

E dovrai creare questo AFTER UPDATE trigger per ogni tabella di cui vuoi avere un modified colonna in.