Specifying Columns by Using the SET Clause
zestaw określa kolumn, które mają zostać zmienione, a nowe wartości dla kolumn.Wartości w określonych kolumnach są aktualizowane przy użyciu wartości określone w zestaw wszystkich wierszy spełniających warunek wyszukiwania klauzula WHERE.
W poniższym przykładzie zmienia wartość kodu pocztowego na wiersze, które odpowiadają określonym mieście.
USE AdventureWorks;
GO
UPDATE Person.Address
SET PostalCode = '98000'
WHERE City = 'Bothell';
GO
Jeśli nie WHERE klauzula jest określony, wszystkie wiersze są aktualizowane.Na przykład powoduje zaktualizowanie wartości w tej instrukcja Bonus, CommissionPct, a SalesQuota kolumny dla wszystkich wierszy w SalesPerson Tabela.
USE AdventureWorks;
GO
UPDATE Sales.SalesPerson
SET Bonus = 6000, CommissionPct = .10, SalesQuota = NULL;
GO
Obliczona kolumna wartości mogą być obliczane i używane w operacji aktualizacji.W poniższym przykładzie podwaja się wartość ListPrice kolumna dla wszystkich wierszy w Product Tabela.
USE AdventureWorks ;
GO
UPDATE Production.Product
SET ListPrice = ListPrice * 2;
GO
Użyte w klauzula zestaw wyrażenia mogą być również podkwerend, które zwracają tylko jedną wartość.W poniższym przykładzie modyfikuje SalesYTD kolumna w SalesPerson tabelę, aby odzwierciedlić najnowsze sprzedaży w SalesOrderHeader Tabela. Podkwerend łącznej sprzedaży dla każdego sprzedawcy w ramach UPDATE Instrukcja.
USE AdventureWorks;
GO
UPDATE Sales.SalesPerson
SET SalesYTD = SalesYTD +
(SELECT SUM(so.SubTotal)
FROM Sales.SalesOrderHeader AS so
WHERE so.OrderDate = (SELECT MAX(OrderDate)
FROM Sales.SalesOrderHeader AS so2
WHERE so2.SalesPersonID =
so.SalesPersonID)
AND Sales.SalesPerson.SalesPersonID = so.SalesPersonID
GROUP BY so.SalesPersonID);
GO