2011-09-01 14 views
1

我不想從數據庫中刪除記錄,只是將其複製到歸檔表中,以避免發生意外。 我發現我們可以使用自定義存儲過程。但是我們不能只添加一個刪除存儲過程,我們還必須添加存儲過程來進行選擇和更新。 有沒有內置或更簡單的方法呢? 我只需要保持已刪除的記錄,以防萬一..使用EF簡易的歸檔記錄方法

回答

1

我可能會用一個單獨的存檔表去了,從常規表上刪除一個觸發器,是這樣的:

CREATE TRIGGER Foo_AD 
ON dbo.Foo 
AFTER DELETE 
AS 
BEGIN 
    SET NOCOUNT ON; 
    insert Archive_Foo (a, b) 
     select a, b from deleted 
END 
GO 
+0

這我雖然。在這種情況下,我們應該如何處理關係和級聯刪除? – user194076

+0

我想這取決於你想從這些存檔表中得到什麼。如果你期望使用它們,並定期查詢它們,甚至將它們連接到EF,那麼我不知道最好的方法。但是,如果你只是想嚴格保存數據作爲緊急備份,所以你不會丟失數據,我會說完全跳過外鍵,並讓記錄按原樣歸入這些歸檔表。 –

+0

好吧!非常感謝。你今天幫了很多忙:) – user194076