Heim > Datenbank > MySQL-Tutorial > Wie aktualisiere ich Oracle-Tabellendaten aus einer anderen Tabelle mithilfe von SQL?

Wie aktualisiere ich Oracle-Tabellendaten aus einer anderen Tabelle mithilfe von SQL?

Patricia Arquette
Freigeben: 2025-01-22 03:03:13
Original
308 Leute haben es durchsucht

How to Update Oracle Table Data from Another Table Using SQL?

Verwenden von SQL zum Aktualisieren von Oracle-Tabellendaten aus einer anderen Tabelle

Bei der relationalen Datenbankverwaltung ist es häufig erforderlich, Daten in einer Tabelle mithilfe von Werten aus einer anderen Tabelle zu aktualisieren. Dies kann mit der SQL UPDATE-Anweisung erreicht werden.

Szene:

Betrachten Sie zwei Tabellen, Tabelle 1 und Tabelle 2, die die folgenden Daten enthalten:

<code>表 1:
id    name    desc
-----------------------
1     a       abc
2     b       def
3     c       adf

表 2:
id    name    desc
-----------------------
1     x       123
2     y       345</code>
Nach dem Login kopieren

Ziel:

Aktualisieren Sie Tabelle 1 mit den Spalten „name“ und „desc“ aus Tabelle 2, wenn die ID-Spalten in beiden Tabellen übereinstimmen. Die erwarteten Ergebnisse sind wie folgt:

<code>表 1:
id    name    desc
-----------------------
1     x       123
2     y       345
3     c       adf</code>
Nach dem Login kopieren

Option 1: Verwandte Updates

In Oracle SQL sind entsprechende Updates verfügbar:

<code class="language-sql">UPDATE table1 t1
SET (name, desc) = (SELECT t2.name, t2.desc
                         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

Anleitung:

Diese Abfrage führt eine Aktualisierung von Tabelle1 durch und verwendet eine Unterabfrage, um die entsprechenden Namens- und Desc-Werte aus Tabelle2 basierend auf der übereinstimmenden ID abzurufen. Die WHERE EXISTS-Klausel stellt sicher, dass nur Zeilen in Tabelle1 aktualisiert werden, die übereinstimmende Zeilen in Tabelle2 haben.

Option 2: JOIN-basiertes Update

Angenommen, dass das durch den Join erzeugte Ergebnis die Schlüssel beibehält, kann die folgende Aktualisierungsanweisung verwendet werden:

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

Anleitung:

Diese Abfrage führt eine Aktualisierung der Join-Ansicht durch und aktualisiert effektiv die Namens- und Desc-Spalten von Tabelle1 auf die Werte, die mit der entsprechenden ID in Tabelle2 übereinstimmen.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich Oracle-Tabellendaten aus einer anderen Tabelle mithilfe von SQL?. 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