可以使用 TOP 子句来限制 UPDATE 语句中修改的行数。当 TOP (n) 子句与 UPDATE 一起使用时,将针对随机选择的 n 行执行删除操作。例如,假设您要为一位高级销售人员减轻销售负担,而将一些客户分配给了一位初级销售人员。下列示例将随机抽样的 10 个客户从一位销售人员分配给了另一位。
USE AdventureWorks2008R2;
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 BusinessEntityID
FROM
HumanResources.Employee
ORDER
BY
HireDate
ASC
)
AS
th
WHERE
HumanResources.Employee.BusinessEntityID = th.BusinessEntityID;
GO
Delete 以此类推