次の方法で共有


TOP の使用による更新行数の制限

TOP 句を使用すると、UPDATE ステートメントで変更される行の数を制限できます。UPDATE ステートメントで TOP (n) 句を使用した場合、ランダムに選択される 'n' 行に対して更新操作が実行されます。たとえば、ある中堅販売員の労働負荷を緩和するために、一部の顧客を若手の販売員に割り当てる場合を考えてください。次のクエリでは、ある販売員の顧客からランダムに 10 人を抽出して別の販売員に割り当てています。

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

TOP を使用して、意味のある日時順に更新を適用する必要がある場合は、サブセレクト ステートメントに ORDER BY を含めて TOP を使用する必要があります。次の例では、採用日の古い従業員上位 10 人の休暇時間を更新します。

UPDATE HumanResources.Employee
SET VacationHours = VacationHours + 8
FROM (SELECT TOP 10 EmployeeID FROM HumanResources.Employee
     ORDER BY HireDate ASC) AS th
WHERE HumanResources.Employee.EmployeeID = th.EmployeeID;
GO

参照

概念

TOP と PERCENT の使用による結果セットの制限
WHERE 句の使用によるデータの変更
FROM 句を使用したデータの変更
SET 句を使用したデータの変更
UPDATE の使用によるデータの変更

その他の技術情報

UPDATE (Transact-SQL)
SELECT (Transact-SQL)
TOP (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手