Heim > Datenbank > MySQL-Tutorial > Wie kann ich mithilfe von SQL eine Oracle-Tabelle mit Daten aus einer anderen Tabelle aktualisieren?

Wie kann ich mithilfe von SQL eine Oracle-Tabelle mit Daten aus einer anderen Tabelle aktualisieren?

Linda Hamilton
Freigeben: 2025-01-22 02:41:14
Original
439 Leute haben es durchsucht

How Can I Update an Oracle Table with Data from Another Using SQL?

Verwenden von SQL zum Aktualisieren einer Oracle-Tabelle mit Daten von einer anderen

Oracle SQL bietet effiziente Methoden zum Aktualisieren einer Tabelle mit Daten aus einer anderen. Dies kann durch korrelierte Aktualisierungen oder alternative Syntax erreicht werden.

Lassen Sie uns anhand von Beispieltabellen veranschaulichen:

<code class="language-sql">Table 1:
id | name | description
-----------------------
1   | a     | abc
2   | b     | def
3   | c     | adf</code>
Nach dem Login kopieren
<code class="language-sql">Table 2:
id | name | description
-----------------------
1   | x     | 123
2   | y     | 345</code>
Nach dem Login kopieren

Methode 1: Korrelierte Unterabfrageaktualisierung

Dieser Ansatz verwendet eine korrelierte Unterabfrage, um passende Daten von Table 2 für jede Zeile in Table 1:

abzurufen
<code class="language-sql">UPDATE table1 t1
SET (name, description) = (SELECT t2.name, t2.description
                         FROM table2 t2
                        WHERE t1.id = t2.id)
WHERE EXISTS (
    SELECT 1
      FROM table2 t2
     WHERE t1.id = t2.id );</code>
Nach dem Login kopieren

Die WHERE EXISTS-Klausel stellt sicher, dass nur Zeilen mit übereinstimmenden IDs in beiden Tabellen aktualisiert werden.

Methode 2: Alternative Syntax mit einer Unterabfrage

Diese Methode verwendet eine Unterabfrage, um eine temporäre Ansicht zu erstellen, die beide Tabellen kombiniert, und aktualisiert dann diese Ansicht:

<code class="language-sql">UPDATE (SELECT t1.id, 
               t1.name name1,
               t1.description desc1,
               t2.name name2,
               t2.description desc2
          FROM table1 t1 JOIN table2 t2 ON t1.id = t2.id)
   SET name1 = name2,
       desc1 = desc2;</code>
Nach dem Login kopieren

Dieser Ansatz nutzt ein JOIN, um die Tabellen effizient zu kombinieren. Das Update ändert dann die ausgewählten Spalten (name1, desc1) basierend auf den entsprechenden Spalten aus Table 2 (name2, desc2). Die Spalte id dient als Verknüpfungsschlüssel und gewährleistet genaue Aktualisierungen von Table 1.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von SQL eine Oracle-Tabelle mit Daten aus einer anderen Tabelle aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage