可以使用 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
參考:http://technet.microsoft.com/zh-CN/library/ms180971