2013-09-26 78 views
1

我需要創建一個存儲過程,該存儲過程將在從當前日期起一段時間後清除我們的日誌文件。如何創建存儲過程以在特定日期之前刪除表中的所有記錄?

我看到this post但我對tsql不夠熟悉,無法調整它。

USE SuburbanPortal; 
    GO 

    CREATE PROCEDURE sp_ClearWebLogTable 

    DELETE FROM Web.Log WHERE 
     (date > GETDATE() AND date < DATEADD(day, 5, GETDATE())); 
    GO 

我確實爲我的表格和數據庫調整了它,但我需要清除每天超過一個月的日誌。

任何幫助將不勝感激!

+1

在Sql服務器中,你應該避免在存儲過程前加上「sp_」。 http://msdn.microsoft.com/en-us/library/dd172115(v=vs.100).aspx –

回答

4

我需要清除日誌,每天超過一個月的任何東西。

DELETE 
FROM Web.Log 
WHERE DateCol <= DATEADD(Month, -1, GetDate()) 

哪裏DateCol是你的日期列

+0

我是否正確設置了存儲過程的其餘部分? – ErocM

+0

@ErocM,看起來不錯。 – Habib

+2

感謝您的幫助,我會在幾分鐘內接受! – ErocM

1
DELETE FROM Web.Log 
WHERE date < DATEADD(day, -30, GETDATE()); 

這將刪除記錄超過30天。

相關問題