UPDATE Anweisung Oracle/PLSQL

In diesem Oracle-Lernprogramm wird die Verwendung der Oracle-Anweisung UPDATE mit Syntax, Beispielen und Übungsübungen erläutert.

Beschreibung

Mit der Oracle UPDATE-Anweisung werden vorhandene Datensätze in einer Tabelle in einer Oracle-Datenbank aktualisiert. Es gibt zwei Syntaxen für eine Aktualisierungsabfrage in Oracle, je nachdem, ob Sie eine herkömmliche Aktualisierung durchführen oder eine Tabelle mit Daten aus einer anderen Tabelle aktualisieren.

Syntax

Die Syntax für die UPDATE-Anweisung beim Aktualisieren einer Tabelle in Oracle/PLSQL lautet:

UPDATE table
SET column1 = expression1,
column2 = expression2,

column_n = expression_n
[WHERE conditions];

ODER
Die Syntax für die Oracle UPDATE-Anweisung beim Aktualisieren einer Tabelle mit Daten aus einer anderen Tabelle lautet:

UPDATE table1
SET column1 = (SELECT expression1
FROM table2
WHERE conditions)
[WHERE conditions];

Parameter oder Argumente

column1, column2, … column_n Die Spalten, die Sie aktualisieren möchten.

expression1, expression2, … expression_n Die neuen Werte, die der column1, column2, … column_n zugewiesen werden sollen. So würde column1 der Wert von expression1 zugewiesen werden, column2 der Wert von expression2 usw. zugewiesen werden .

WHERE conditions Wahlweise. Die Bedingungen, die erfüllt sein müssen, damit die Aktualisierung ausgeführt wird. Wenn keine Bedingungen angegeben werden, werden alle Datensätze in der Tabelle aktualisiert.

Beispiel – Einzelspalte aktualisieren

Schauen wir uns ein sehr einfaches Oracle UPDATE-Abfragebeispiel an.

In diesem Oracle-UPDATE-Beispiel würde der last_name auf ‚Anderson in der Tabelle customers, in der die vorhanden ist, aktualisiert customer_id ist 5000.

Beispiel – Mehrere Spalten aktualisieren

Sehen wir uns ein Oracle-UPDATE-Beispiel an, in dem Sie möglicherweise mehrere Spalten mit einer einzigen UPDATE-Anweisung aktualisieren möchten.

Wenn Sie mehrere Spalten aktualisieren möchten, können Sie die Spalten- / Wertepaare durch Kommas trennen.

Dieses Oracle-UPDATE-Anweisungsbeispiel würde den state auf ‚California‘ und den customer_rep auf 32 aktualisieren, wobei das lautet customer_id ist größer als 100.

Beispiel – Tabelle mit Daten aus einer anderen Tabelle aktualisieren

Schauen wir uns ein Oracle-UPDATE-Beispiel an, das zeigt, wie eine Tabelle mit Daten aus einer anderen Tabelle aktualisiert wird.

Dieses UPDATE-Beispiel würde nur die Tabelle customers für alle Datensätze aktualisieren, bei denen die customer_id weniger als 1000 ist. Wenn die supplier_name aus der Tabelle für suppliers stimmt mit dem customer_name aus der überein customers Tabelle, das contract_date aus der Tabelle suppliers wird in die kopiert c_details Feld in der Tabelle customers.

Beispiel – Verwendung der EXISTS-Klausel

Sie können auch kompliziertere Updates in Oracle durchführen.

Möglicherweise möchten Sie Datensätze in einer Tabelle basierend auf Werten in einer anderen Tabelle aktualisieren. Da Sie in der Oracle UPDATE-Anweisung nur eine Tabelle auflisten können, können Sie die Oracle EXISTS-Klausel verwenden.

Beispielsweise:

Wenn in diesem Oracle-UPDATE-Beispiel ein supplier_id einem customer_id entspricht, wird der supplier_name würde in der customers Tabelle in die customer_name überschrieben.

Übungsübung Nr. 1:

Aktualisieren Sie die city basierend auf der Tabelle suppliers mit den folgenden Daten mit ‚San Francisco‘ für alle Datensätze, deren supplier_name ist ‚IBM‘.

Lösung für Übungsübung Nr. 1:

Die folgende UPDATE-Anweisung führt dieses Update in Oracle aus.

Die Tabelle suppliers würde jetzt so aussehen:

SUPPLIER_IDSUPPLIER_NAMECITY
5001MicrosoftChicago
5002INTELDenver
5003Red HatDetroit
5004NVIDIANew York

Übungsübung Nr. 2:

Basierend auf der Tabelle der suppliers und customers Tabelle mit den folgenden Daten, aktualisieren Sie die city in der Tabelle mit suppliers mit der city in der Tabelle customers Die supplier_name in der Tabelle der suppliers stimmt mit dem customer_name in der überein customers Tabelle.

Lösung für Übungsübung Nr. 2:

Die folgende UPDATE-Anweisung führt dieses Update in Oracle aus.

Die Tabelle suppliers würde jetzt so aussehen:

SUPPLIER_IDSUPPLIER_NAMECITY
5001MicrosoftSan Francisco
5002IBMToronto
5003Red HatNewark
5004NVIDIALA