Hej, zastanawiałem się, jak mogę ustawić zadanie czyszczenia na konkretnej tabeli, aby usunąć zawartość, która pozwala powiedzieć, że ma tydzień.Codzienne zadanie SQL do usuwania zawartości z tabeli
Używam SQL Server 2005
Hej, zastanawiałem się, jak mogę ustawić zadanie czyszczenia na konkretnej tabeli, aby usunąć zawartość, która pozwala powiedzieć, że ma tydzień.Codzienne zadanie SQL do usuwania zawartości z tabeli
Używam SQL Server 2005
W SQL Server Management Studio, rozwiń SQL Server Agent, kliknij prawym przyciskiem myszy na "Praca" i wybierz "New Job ..."
w "Kroki", stworzyć "New ..." i jeden wprowadzić to:
DELETE YourTable WHERE YourDate<GETDATE()-7
lub bez odniesieniu do wykorzystania czasu:
DELETE YourTable WHERE YourDate<DATEADD(day,DATEDIFF(day,0,GETDATE()-7),0)
w „Wykazie”, można je uruchomić każdą niedzielę lub co trzeba.
Można utworzyć zadanie, które usuwa wszystko starszą niż tydzień. Na przykład,
DELETE FROM MyTable
WHERE DateCreated <= dateadd(d, -7, getdate())
Zakłada się jednak, że masz jakiś sposób na śledzenie, jak stare rekordy są w tabeli, a także zakłada, nie istnieją żadne ograniczenia klucz obcy.
Następnie można zaplanować uruchomienie zadania, gdy użytkownicy nie są połączeni.
Dzięki za to człowiek – StevieB