在SQL中更新时创建时间戳,而不对ID号

时间:2017-07-24 08:47:27

标签: sql sql-server tsql

我正在尝试在MSSMS上创建一个触发器,每次有人更新行时都会生成最后一次更新时间戳。

我在这里找到的常用解决方案很简单:

ALTER TRIGGER dbo.SetLastUpdatedBusiness 
ON dbo.Businesses 
AFTER UPDATE -- not insert!
AS
BEGIN
    IF NOT UPDATE(LastUpdated)
    BEGIN
        UPDATE t
            SET t.LastUpdated = CURRENT_TIMESTAMP -- not dbo.LastUpdated!
            FROM dbo.Businesses AS t -- not b!
            INNER JOIN inserted AS i 
            ON t.ID = i.ID;
    END
END
GO

但我正在使用的表没有ID列来进行内部联接。如果您没有ID列,还有其他方法吗?

感谢。

编辑:我有一些建议在表中添加一个ID列,然后我可以进行内连接。

0 个答案:

没有答案