【发布时间】:2014-04-11 14:03:44
【问题描述】:
我正在研究一个过程,当表中记录的版本发生更改时,该过程将创建一个历史表。我的触发器在下面。它正在工作,但无论值是否不同,它都会在每次更新时更新历史表。如果 ProductVersion 不同,我只想写入历史记录表。
任何帮助都会很棒。
CREATE TRIGGER UpdateServerControlSqlVersionHistory ON [monitor].[ServerControl]
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO monitor.ServerSqlVersionHistory
SELECT i.ServerControlID, i.SqlLinkedServerName, i.ProductVersion, d.ProductVersion, GETDATE()
FROM INSERTED i
FULL OUTER JOIN DELETED d
ON i.ServerControlID = d.ServerControlID
END
GO
【问题讨论】:
-
AND i.ProductVersion <> d.ProductVersion? -
试过了,现在每次更新我都会得到两条记录。
标签: sql sql-server tsql triggers