创建具有创建日期和更新日期的表(只读)

Kri*_*ric 1 sql t-sql sql-server-2008

我想知道是否可以在每次创建或更新记录时创建一个具有创建日期和更新日期的表。

例如,当我在该表中插入一条记录时,创建日期将在表中自动生成与更新日期相同。

当我修改这条记录时,创建日期不会改变,但更新日期会根据日期改变。

非常感谢

Aar*_*and 5

CREATE TABLE dbo.foo
(
  ID INT IDENTITY(1,1),
  CreatedDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  UpdatedDate DATETIME NULL
);
GO

CREATE TRIGGER dbo.foo_ForUpdate
  ON dbo.foo
  FOR UPDATE
AS
BEGIN
  SET NOCOUNT ON;

  UPDATE f SET UpdatedDate = CURRENT_TIMESTAMP
    FROM dbo.foo AS f
    INNER JOIN inserted AS i
    ON f.ID = i.ID;
END
GO
Run Code Online (Sandbox Code Playgroud)