我有一个名为a3lf
的数据库。在我的表players
上,我想添加一个名为LastUpdated
的列。当行的某些部分被修改时,我希望表LastUpdated
更新时间和日期信息,因此我可以在将来进行一些清理。
有可能吗?我正在寻找那个,我发现一些代码仍然让我的知识感到困惑:
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
谢谢!
答案 0 :(得分:2)
This will be the code for your table.
CREATE TRIGGER dbo.trg_players_Update_LastUpdatedColumn
ON <Your_Schema_name>.players
AFTER UPDATE
AS
UPDATE <Your_Schema_name>.players
SET LastUpdated = GETDATE()
WHERE <ID> IN (SELECT DISTINCT <ID> FROM Inserted).
Generally <ID> is the column, based on which you have updated values (Column used in where filter of an update statement).
希望这会有所帮助.. !!