Udostępnij za pośrednictwem


Ograniczanie zaktualizowane dane, korzystając z góry

Aby ograniczyć liczbę wierszy, które są modyfikowane w instrukcja UPDATE, można użyć klauzula TOP.Gdy GÓRNY (n) jest używana klauzula z AKTUALIZACJĄ, operacji aktualizowania będą wykonywane na losowo wybranych "n' Liczba wierszy.Załóżmy, że chcesz zwolnić obciążeń sprzedaży jednej osobach sprzedaży wyższych przypisując niektórzy klienci młodszych sprzedawca.Następująca kwerenda przypisuje losowo 10 odbiorców z jednego sprzedawcę do innego.

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

Jeśli stosować aktualizacje w aspekcie znaczenie za pomocą GÓRNEJ, należy użyć góry wraz z ORDER BY w instrukcja subselect.Poniższy przykład aktualizuje urlopy 10 pracowników najwcześniejszej daty zatrudnienia.

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