SQL Server Update:使用 TOP 限制更新的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server Update:使用 TOP 限制更新的数据相关的知识,希望对你有一定的参考价值。

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

以上是关于SQL Server Update:使用 TOP 限制更新的数据的主要内容,如果未能解决你的问题,请参考以下文章

SQL Update TOP Update Order by 和output的使用

基于 TOP 的 SQL UPDATE

SQL Server 之 子查询与嵌套查询

SQL Server order by 子句不使用 top 等

SQL Server 2008:TOP 10 和不同的一起

SQL Server 2008r2 提交性能问题