共用方式為


使用 TOP 限制更新的資料

您可以使用 TOP 子句,限制 UPDATE 陳述式中可修改的資料列數。當 TOP (n) 子句與 UPDATE 一起使用時,會隨機選取 n 個資料列來執行更新作業。例如,假設您想將某位資深銷售人員的一些客戶指派給一位資淺的銷售人員,以減輕該名資深銷售人員的負擔。下列查詢會從某位銷售人員隨機指派 10 位客戶給另一位銷售人員。

USE AdventureWorks;
GO
UPDATE TOP (10) Sales.Store
SET SalesPersonID = 276
WHERE SalesPersonID = 275;
GO

如果您必須使用 TOP 依有意義的時間順序套用更新,就要在子選擇陳述式中同時使用 TOP 與 ORDER BY。下例會更新最早雇用的前 10 名員工的休假時數。

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