龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Sql Server开发 >

使用 TOP 子句限制UPDATE 语句更新的数据

时间:2014-08-16 03:36来源:网络整理 作者:网络 点击:
分享到:
这篇文章主要介绍了使用 TOP 子句限制UPDATE 语句更新的数据,需要的朋友可以参考下

可以使用 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

精彩图集

赞助商链接