使用 TOP 子句限制UPDATE 语句更新的数据
可以使用TOP子句来限制UPDATE语句中修改的行数。当TOP(n)子句与UPDATE一起使用时,将针对随机选择的n行执行删除操作。例如,假设您要为一位高级销售人员减轻销售负担,而将一些客户分配给了一位初级销售人员。下列示例将随机抽样的10个客户从一位销售人员分配给了另一位。
USEAdventureWorks2008R2; UPDATETOP(10)Sales.Store SETSalesPersonID=276 WHERESalesPersonID=275; GO
如果需要使用TOP来应用按有意义的时间顺序排列的更新,您必须同时使用TOP和ORDERBY子句。下列示例更新了雇佣最早的10名雇员的假期小时数。
UPDATEHumanResources.Employee SETVacationHours=VacationHours+8 FROM(SELECTTOP10BusinessEntityIDFROMHumanResources.Employee ORDERBYHireDateASC)ASth WHEREHumanResources.Employee.BusinessEntityID=th.BusinessEntityID; GO
参考:http://technet.microsoft.com/zh-CN/library/ms180971