我使用的是SQL Server数据库。我有两个表Inspections
和History_Inspections
。
在更新Inspections
表中的记录之前,我需要将其存储到History_Inspections
表中。
我想使用SQL Server更新触发器,但只有在更新记录后才会触发。
任何想法如何在更新前将Inspections
表中的记录存储在History_Inspections
表中?
答案 0 :(得分:2)
当SQL Server中的AFTER UPDATE
触发器触发时,触发器中的Inserted
伪表包含新值(在UPDATE
之后)和Deleted
伪表包含旧值(之前 UPDATE
)。
因此,在您的情况下,只需从Deleted
表中读出行并将其存储到History_Inspections
表中。
CREATE TRIGGER trg_AfterUpdateInspections
ON dbo.Inspections
AFTER UPDATE
AS
INSERT INTO dbo.History_Inspections(list of columns)
SELECT (list of columns)
FROM Deleted