您可以使用 TOP 子句,限制 UPDATE 陳述式中可修改的資料列數。當 TOP (n) 子句與 UPDATE 搭配使用時,會隨機選擇 'n' 個資料列,然後對其執行更新作業。例如,假設您想將某位資深銷售人員的一些客戶指派給一位資淺的銷售人員,以減輕該名資深銷售人員的負擔。下列查詢會從某位銷售人員隨機指派 10 位客戶給另一位銷售人員。
USE AdventureWorks;
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
請參閱
概念
使用 TOP 與 PERCENT 限制結果集
使用 WHERE 子句來變更資料
使用 FROM 子句來變更資料
使用 SET 子句變更資料
使用 UPDATE 來變更資料
其他資源
UPDATE (Transact-SQL)
SELECT (Transact-SQL)
TOP (Transact-SQL)