Heim > Datenbank > MySQL-Tutorial > Wie führe ich eine UPDATE-Abfrage mit INNER JOIN in Oracle korrekt durch?

Wie führe ich eine UPDATE-Abfrage mit INNER JOIN in Oracle korrekt durch?

Susan Sarandon
Freigeben: 2025-01-25 04:50:09
Original
274 Leute haben es durchsucht

How to Correctly Perform an UPDATE Query with INNER JOIN in Oracle?

Verwenden Sie im Oracle den inneren Join, um die Aktualisierungsabfrage

korrekt auszuführen Die folgenden Abfragen in MySQL können erfolgreich ausgeführt werden:

Die gleiche Abfrage in Oracle verursacht jedoch die folgenden Fehler:
<code class="language-sql">UPDATE table1
INNER JOIN table2 ON table1.value = table2.DESC
SET table1.value = table2.CODE
WHERE table1.UPDATETYPE='blah';</code>
Nach dem Login kopieren

Lösung
<code>SQL错误:ORA-00933:SQL命令未正确结束
00933. 00000 -  "SQL command not properly ended"</code>
Nach dem Login kopieren

Die in der Abfrage verwendete Syntax ist in Oracle ungültig. Um die erwarteten Ergebnisse zu erfüllen, können Sie eine der folgenden Methoden verwenden:

Die erste Methode

Diese Methode verwendet sub -query, um den Aktualisierungswert von Tabelle 1 zu erhalten. Wert gemäß den Verbindungsbedingungen. Es stellt sicher, dass nur die passende Zeile aktualisiert wird.

Die zweite Methode
<code class="language-sql">UPDATE table1 SET table1.value = (SELECT table2.CODE
                                  FROM table2 
                                  WHERE table1.value = table2.DESC)
WHERE table1.UPDATETYPE='blah'
AND EXISTS (SELECT table2.CODE
            FROM table2 
            WHERE table1.value = table2.DESC);</code>
Nach dem Login kopieren

Diese Methode verwendet ein aktualisiertes internes Verknüpfungsdiagramm, um das Update auszuführen. Es erfordert Oracle, dass die interne Verknüpfungsansicht abhängig von bestimmten Regeln aktualisiert wird.

Das obige ist der detaillierte Inhalt vonWie führe ich eine UPDATE-Abfrage mit INNER JOIN in Oracle korrekt durch?. 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