使用 TOP 限制更新的数据

可以使用 TOP 子句来限制 UPDATE 语句中修改的行数。当在 UPDATE 语句中使用 TOP (n) 子句时,将基于随机选择 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)

帮助和信息

获取 SQL Server 2005 帮助