Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Скрипт удаления устаревших записей из базы. (http://forum.oszone.net/showthread.php?t=217214)

HuppeR 05-10-2011 13:42 1766436

Скрипт удаления устаревших записей из базы.
 
День добрый.
Подскажите, нужен скрипт для регулярного удаления устаревших записей из sql базы. Например удалять все записи старше месяца. Или какими методами можно это реализовать.
sql server 2005, база isa server.
Cпасибо.

zero55 05-10-2011 21:11 1766786

примерно так.

создаете задание для SQL агента

DECLARE @DELETEDATE AS VARCHAR(255)
DECLARE @CURRENT AS DATETIME
SELECT @CURRENT = GETDATE()
SELECT @DELETEDATE = CAST(DATEPART(mm,@CURRENT) AS VARCHAR(2)) + '-' + CAST(DATEPART(dd,@CURRENT) AS VARCHAR(2)) + '-' + CAST(DATEPART(yy,@CURRENT) AS VARCHAR(4))

SELECT @DELETEDATE = DATEADD(dd, -45,@DELETEDATE)

DELETE FROM FirewallLog WHERE logtime < @DELETEDATE

Delirium 06-10-2011 01:03 1766914

zero55, для этого можно использовать встроенную функцию DATEDIFF, указав в качестве первого параметра сегодняшнюю дату через GetDate(), а вторую - количество дней в минусе.
Либо просто where logtime <Getdate() - 30.


Время: 01:26.

Время: 01:26.
© OSzone.net 2001-