다음을 통해 공유


TOP를 사용하여 업데이트되는 데이터 제한

TOP 절을 사용하여 UPDATE 문에서 수정되는 행 수를 제한할 수 있습니다. UPDATE 문에 TOP(n) 절을 사용하면 'n'개의 행을 임의로 선택하여 업데이트 작업이 수행됩니다. 예를 들어 하급 영업 직원에게 일부 고객을 지정하여 상급 영업 직원 중 한 명의 영업 부담을 줄여야 한다고 가정합니다. 다음 쿼리에서는 한 영업 직원의 고객 중 임의로 선택한 고객 10명을 다른 영업 직원에게 지정합니다.

USE AdventureWorks2008R2;
UPDATE TOP (10) Sales.Store
SET SalesPersonID = 276
WHERE SalesPersonID = 275;
GO

TOP를 사용하여 의미 있는 연대순으로 업데이트를 적용해야 할 경우 하위 SELECT 문에서 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