top子句限制update语句更新的数据量

发布时间:2020-07-25编辑:脚本学堂
本文介绍了使用 top 子句限制update 语句更新的数据量的方法,sql语句中top子句的用法,有需要的朋友参考下。

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