Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
SET gibt die zu ändernden Spalten und die neuen Werte für die Spalten an. Die Werte in den angegebenen Spalten werden mit den in der SET-Klausel angegebenen Werten in allen Zeilen aktualisiert, die mit der Suchbedingung der WHERE-Klausel übereinstimmen.
Das folgende Beispiel ändert den Wert für die Postleitzahl für Zeilen, die einer angegebenen Stadt entsprechen.
USE AdventureWorks;
GO
UPDATE Person.Address
SET PostalCode = '98000'
WHERE City = 'Bothell';
GO
Falls keine WHERE-Klausel angegeben wird, werden alle Zeilen aktualisiert. Die folgende Anweisung aktualisiert z. B. die Werte in den Bonus-, CommissionPct- und SalesQuota-Spalten für alle Zeilen in der SalesPerson-Tabelle.
USE AdventureWorks;
GO
UPDATE Sales.SalesPerson
SET Bonus = 6000, CommissionPct = .10, SalesQuota = NULL;
GO
Die Werte von berechneten Spalten können berechnet und in einer Aktualisierungsoperation verwendet werden. Das folgende Beispiel verdoppelt den Wert in der ListPrice-Spalte für alle Zeilen in der Product-Tabelle.
USE AdventureWorks ;
GO
UPDATE Production.Product
SET ListPrice = ListPrice * 2;
GO
Die in der SET-Klausel verwendeten Ausdrücke können auch Unterabfragen sein, die nur einen Wert zurückgeben. Das folgende Beispiel ändert die SalesYTD-Spalte in der SalesPerson-Tabelle, um die aktuellen Umsätze widerzuspiegeln, die in der SalesOrderHeader-Tabelle aufgezeichnet wurden. Die Unterabfragen aggregieren die Umsätze für jeden Vertriebsmitarbeiter in der UPDATE-Anweisung.
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
Siehe auch
Konzepte
Ändern von Daten mithilfe der WHERE-Klausel
Ändern von Daten mithilfe der FROM-Klausel
Beschränken aktualisierter Daten mithilfe von TOP
Ändern von Daten mit UPDATE