sql >> Databáze >  >> RDS >> Sqlserver

Jak přidám „naposledy upravený“ a vytvořený sloupec do tabulky serveru SQL?

created sloupec je jednoduchý – stačí DATETIME2(3) sloupec s výchozím omezením, které se nastaví při vložení nového řádku:

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

Takže když vložíte řádek do YourTable a nezadávejte hodnotu pro Created , bude nastaveno na aktuální datum a čas.

modified je trochu pracnější, protože budete muset napsat spouštěč pro AFTER UPDATE případ a aktualizujte jej – nemůžete deklarativně říct SQL Serveru, aby to udělal za vás....

Modified DATETIME2(3)

a poté

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

Musíte se připojit k Inserted pseudo tabulka, která obsahuje všechny řádky které byly aktualizovány vaší základní tabulkou na vašem primárním klíči pro tento stůl.

A toto budete muset vytvořit AFTER UPDATE spouštěč pro každou tabulku, kterou chcete modified sloupec v.



  1. KDYŽ SQLERROR nikdy nefunguje

  2. Jaký je standardní způsob získání posledního ID vložení?

  3. Co je důvěryhodné připojení?

  4. Skupina MySQL podle posledního záznamu