該觸發器將數據從dbo.node備份到dbo.nodearchive。儘管備份很重要,但我只需要每天進行一次備份。請注意,有一個名爲dbo.NodeArchive.versionDate(smalldDatetime)的字段。觸發器只能運行一次,每天運行一次
CREATE TRIGGER [dbo].[Node_update]
ON [dbo].[Node]
for UPDATE
AS
BEGIN
INSERT INTO dbo.NodeArchive ([NodeID]
,[ParentNodeID]
,[Slug]
,[xmlTitle]
...
,[ModifyBy]
,[ModifyDate]
,[CreateBy]
,[CreateDate])
SELECT [deleted].[NodeID]
,[deleted].[ParentNodeID]
,[deleted].[Slug]
,[deleted].[xmlTitle]
...
,[deleted].[ModifyBy]
,[deleted].[ModifyDate]
,[deleted].[CreateBy]
,[deleted].[CreateDate]
FROM [deleted] LEFT JOIN dbo.Node
ON [deleted].NodeID = dbo.Node.NodeID
WHERE deleted.ModifyDate <> dbo.Node.ModifyDate
END
GO
我正在尋找備份更改,但每天不會超過一個備份版本。如果沒有變化,就沒有備份。
當更新到dbo.Node時,它應該插入到dbo.NodeArchive中。如果dbo.Node中的某一行永遠不會更改,則dbo.NodeArchive永遠不會插入任何內容。 –