Freigeben über


Beschränken von zu löschenden Zeilen mithilfe von TOP

Aktualisiert: 05. Dezember 2005

Mithilfe der TOP-Klausel können Sie die Anzahl der Zeilen beschränken, die in einer DELETE-Anweisung gelöscht werden. Wenn eine TOP (n)-Klausel zusammen mit DELETE verwendet wird, wird der Löschvorgang auf eine zufällige Auswahl von n Zeilen ausgeführt.

Die folgende Anweisung löscht beispielsweise 20 zufällige Zeilen mit Fälligkeitsdaten vor dem 1. Juli 2002 aus der PurchaseOrderDetail-Tabelle.

USE AdventureWorks;
GO
DELETE TOP (20) 
FROM Purchasing.PurchaseOrderDetail
WHERE DueDate < '20020701';
GO

Wenn Sie die TOP-Klausel verwenden müssen, um Zeilen in einer sinnvollen Reihenfolge zu löschen, müssen Sie sie zusammen mit ORDER BY in einer untergeordneten SELECT-Anweisung verwenden. Die folgende Abfrage löscht die zehn Zeilen der PurchaseOrderDetail-Tabelle mit den frühesten Fälligkeitsdaten. Die in der untergeordneten SELECT-Anweisung angegebene Spalte (PurchaseOrderID) ist der Primärschlüssel der Tabelle, um sicherzustellen, dass nur 10 Zeilen gelöscht werden. Wird in der untergeordneten SELECT-Anweisung eine Nichtschlüsselspalte verwendet, werden möglicherweise mehr als 10 Zeilen gelöscht, wenn die angegebene Spalte doppelte Werte enthält.

USE AdventureWorks;
GO
DELETE FROM Purchasing.PurchaseOrderDetail
WHERE PurchaseOrderDetailID IN
   (SELECT TOP 10 PurchaseOrderDetailID 
    FROM Purchasing.PurchaseOrderDetail 
    ORDER BY DueDate ASC);
GO

Siehe auch

Konzepte

Löschen von Zeilen mithilfe von DELETE
Löschen aller Zeilen mit TRUNCATE TABLE
Löschen von Zeilen in Resultsets
Begrenzen von Resultsets mit TOP und PERCENT

Andere Ressourcen

TOP (Transact-SQL)
DELETE (Transact-SQL)
Löschen von Daten aus einer Tabelle

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

05. Dezember 2005

Neuer Inhalt:
  • Informationen zum Angeben eines Primärschlüssels beim Verwenden einer untergeordneten SELECT-Anweisung zusammen mit einer ORDER BY-Klausel wurden hinzugefügt.