欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-01-03 20:10:07
可以使用 top 子句来限制 update 语句中修改的行数。当 top (n) 子句与 update 一起使用时,将针对随机选择的 n 行执行删除操作。例如,假设您要为一...

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