Freigeben über


UPDATE - SQL-Befehl

Aktualisiert Datensätze einer Tabelle.

UPDATE [DatabaseName1!]TableName1SET Column_Name1 = eExpression1
   [, Column_Name2 = eExpression2 ...]
   WHERE FilterCondition1 [AND | OR FilterCondition2 ...]

Parameter

  • [DatabaseName1!]TableName1
    Gibt die Tabelle an, in der Datensätze aktualisiert werden.

    DatabaseName1! gibt den Namen einer nicht aktuellen Datenbank an, welche die Tabelle enthält. Wenn die Datenbank, die die Tabelle enthält, nicht die aktuelle Datenbank ist, müssen Sie deren Namen angeben. Fügen Sie ein Ausrufezeichen (!) als Trennzeichen zwischen dem Datenbank- und dem Tabellennamen ein.

  • SET Column_Name1 = *eExpression1   *[, Column_Name2 = eExpression2
    Gibt die zu aktualisierenden Spalten sowie deren neue Werte an. Ist keine WHERE-Klausel angegeben, wird jeder Eintrag einer aufgeführten Spalte mit dem jeweils zugewiesenen Wert aktualisiert.

  • WHERE FilterCondition1 [AND | OR FilterCondition2 ...]]
    Gibt die Datensätze an, die aktualisiert werden sollen.

    FilterCondition gibt die Kriterien an, die die Datensätze erfüllen müssen, um aktualisiert zu werden. Sie können beliebig viele Filterbedingungen angeben und sie mit den AND- oder OR-Operatoren verbinden. Sie können auch den NOT-Operator verwenden, um den Wert eines logischen Ausdrucks umzukehren, oder EMPTY( ), um auf ein leeres Feld zu überprüfen.

Hinweise

UPDATE - SQL kann nur Datensätze einer einzigen Tabelle aktualisieren. Beachten Sie bitte, dass Unterabfragen in UPDATE - SQL unterstützt werden.

Im Gegensatz zu REPLACE verwendet UPDATE - SQL die Datensatzsperre beim Aktualisieren mehrerer Datensätze in einer Tabelle, die zur gemeinsamen Nutzung geöffnet ist. Auf diese Weise werden Datensatzkonflikte im Mehrbenutzerbereich verringert, jedoch unter Umständen auch die Leistung. Um eine optimale Leistung zu erzielen, öffnen Sie die Tabelle zur exklusiven Nutzung, oder verwenden Sie FLOCK( ) zum Sperren der Tabelle.

Beispiel

Im folgenden Beispiel wird die Tabelle customer in der Datenbank testdata geöffnet. UPDATE -SQL wird verwendet, um alle Werte im Feld maxordamt auf 25 zu setzen.

CLOSE DATABASES

OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer     && Open customer table

* Set and display amounts for customers
UPDATE customer SET maxordamt = 25
BROWSE FIELDS company,maxordamt

Siehe auch

DELETE - SQL | GATHER | INSERT - SQL | REPLACE | SCATTER