Beschränken aktualisierter Daten mithilfe von TOP
Mithilfe der TOP-Klausel können Sie die Anzahl der Zeilen beschränken, die in einer UPDATE-Anweisung geändert werden. Wenn eine TOP- (n-)Klausel mit UPDATE verwendet wird, wird der Aktualisierungsvorgang für eine Zufallsauswahl von n Zeilen ausgeführt. Angenommen, Sie möchten einen Ihrer erfahrenen Vertriebsmitarbeiter entlasten, indem Sie einer Nachwuchskraft einige seiner Kunden zuweisen. Mit der folgenden Abfrage wird eine zufällige Stichprobe von 10 Kunden von einem Vertriebsmitarbeiter zum anderen zugewiesen.
USE AdventureWorks;
UPDATE TOP (10) Sales.Store
SET SalesPersonID = 276
WHERE SalesPersonID = 275;
GO
Wenn TOP verwendet werden muss, um Aktualisierungen in einer sinnvollen Abfolge anzuwenden, muss in einer untergeordneten SELECT-Anweisung TOP gemeinsam mit ORDER BY verwendet werden. Mit dem nachfolgenden Beispiel werden die Urlaubsstunden der 10 Mitarbeiter mit dem frühesten Einstellungsdatum aktualisiert.
UPDATE HumanResources.Employee
SET VacationHours = VacationHours + 8
FROM (SELECT TOP 10 EmployeeID FROM HumanResources.Employee
ORDER BY HireDate ASC) AS th
WHERE HumanResources.Employee.EmployeeID = th.EmployeeID;
GO
Siehe auch
Konzepte
Begrenzen von Resultsets mit TOP und PERCENT
Ändern von Daten mithilfe der WHERE-Klausel
Ändern von Daten mithilfe der FROM-Klausel
Ändern von Daten mithilfe der SET-Klausel
Ändern von Daten mit UPDATE
Andere Ressourcen
UPDATE (Transact-SQL)
SELECT (Transact-SQL)
TOP (Transact-SQL)