2011-07-30 18 views
5

Pomoc, proszę. Czy istnieje inny sposób wyświetlania usuniętych wierszy w SQL Server z wyjątkiem używania wyzwalacza i usuniętej tabeli lub pisania SELECT przed USUNĄĆ z tą samą klauzulą ​​WHERE?Wyświetl usunięte wiersze T-SQL

Odpowiedz

18

Można użyć klauzuli wyjścia instrukcji delete.

delete from yourtable 
output deleted.* 
where ... 
+5

+1 zadziwiające, jak wielu programistów T-SQL nadal nie wiem o klauzuli OUTPUT ... –

+0

dzięki, wyjście pasuje mi idealnie! I nie jestem programistą SQL, potrzebuję SQL "przy okazji" dla mojego własnego celu =) – Alecs

+1

Ludzie tacy jak Mikael oferują nam tak wiele dobrych kompleksowych rozwiązań. Te rozwiązania rzadko mają więcej niż 3 punkty. Czasami takie rozwiązania zawierają kod taki jak ten, w połączeniu z różnego rodzaju złotem. Teraz prosty oneliner nagradza 7 punktów. Mikael na pewno zasługujesz na punkty, ale przede wszystkim za inne odpowiedzi :) –