Freigeben über


Ändern von Daten mit UPDATE

Die UPDATE-Anweisung kann Datenwerte in einzelnen Zeilen, Gruppen von Zeilen oder allen Zeilen in einer Tabelle oder Sicht ändern. Mit ihr können auch Zeilen auf einem Remoteserver aktualisiert werden. Dabei können entweder der Name eines Verbindungsservers oder die OPENROWSET-, OPENDATASOURCE- und OPENQUERY-Funktionen verwendet werden, wenn der OLE DB-Anbieter, der zum Zugreifen auf den Remoteserver verwendet wird, Aktualisierungen unterstützt. Mit einer UPDATE-Anweisung, die auf eine Tabelle oder Sicht verweist, können die Daten nur jeweils in einer Basistabelle geändert werden.

Für die UPDATE-Anweisung gibt es die folgenden Hauptklauseln:

  • SET

    Enthält eine durch Trennzeichen getrennte Liste der Spalten, die zu aktualisieren sind, sowie den neuen Wert für jede Spalte im Format column_name = expression. Der von den Ausdrücken angegebene Wert enthält Elemente, wie z. B. Konstanten, aus einer Spalte in einer anderen Tabelle oder Sicht ausgewählte Werte oder von einem komplexen Ausdruck berechnete Werte. Weitere Informationen finden Sie unter Ändern von Daten mithilfe der SET-Klausel.

  • FROM

    Bezeichnet die Tabellen oder Sichten, die die Werte für die Ausdrücke in der SET-Klausel bereitstellen, sowie optional Joinbedingungen zwischen den Quelltabellen oder -sichten. Weitere Informationen finden Sie unter Ändern von Daten mithilfe der FROM-Klausel.

  • WHERE

    Gibt die Suchbedingung an, die die Zeilen aus den Quelltabellen und -sichten definiert, die dafür gekennzeichnet sind, Werte für die Ausdrücke in der SET-Klausel bereitzustellen. Weitere Informationen finden Sie unter Ändern von Daten mithilfe der WHERE-Klausel.

Im folgenden Beispiel wird die UPDATE -Anweisung verwendet, um den Preis aller Produkte, die dem Produktmodell 37 zugeordnet sind, um 10 % zu erhöhen:

USE AdventureWorks2008R2;
GO
UPDATE AdventureWorks2008R2.Production.Product
SET ListPrice = ListPrice * 1.1
WHERE ProductModelID = 37;
GO

So ändern Sie Daten mit UPDATE

UPDATE (Transact-SQL)