有沒有辦法自動告訴SQL Server所有的表都應該有插入和更新的時間戳?如何跟蹤在SQL Server中自動創建/更新行的時間?
這可能是很多重複性的工作來做到這一點?
或者是否有另一種/更有效的方式來處理事務日誌?
卡爾
有沒有辦法自動告訴SQL Server所有的表都應該有插入和更新的時間戳?如何跟蹤在SQL Server中自動創建/更新行的時間?
這可能是很多重複性的工作來做到這一點?
或者是否有另一種/更有效的方式來處理事務日誌?
卡爾
你將不得不在SQL Server中DML triggers實現這一點,用於插入,你可以用defaults
離開,但如果有人經過一個值,將會改寫default
你可以有一個RowCreated DATETIME DEFAULT (GETDATE())
來自動處理該行最初創建的日期 - 但是對於RowModified DATETIME
列而言,沒有什麼可以編寫觸發器來執行相同的操作。
對於每個表,你必須寫一個AFTER UPDATE
觸發處理RowModified
列是這樣的:
CREATE TRIGGER dbo.trg_YourTableUpdated
ON dbo.YourTable AFTER UPDATE
AS BEGIN
UPDATE dbo.YourTable
SET RowModified = GETDATE()
FROM INSERTED i
WHERE dbo.YourTable.ID = i.ID
END
看起來像我最生動的夢想! – Malartre 2010-12-03 16:05:19