Share via


Ändern von Daten mithilfe der SET-Klausel

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

Hilfe und Informationen

Informationsquellen für SQL Server 2005