Heim > Datenbank > MySQL-Tutorial > Wie führe ich eine Oracle -Update -Abfrage mit einem inneren Join richtig durch?

Wie führe ich eine Oracle -Update -Abfrage mit einem inneren Join richtig durch?

Barbara Streisand
Freigeben: 2025-01-25 04:47:14
Original
178 Leute haben es durchsucht

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

Aktualisieren Sie Orakeldaten mit innerem Join

Der von Ihnen begegnete Fehler "SQL -Befehl nicht ordnungsgemäß beendet" liegt daran, dass ich MySQL -Syntax anstelle von Oracle -Syntax verwende. Oracle aktualisiert die Daten und verwendet die Methode des inneren Join leicht unterschiedlich.

Um diesen Fehler zu korrigieren, können Sie die Abfrage wie folgt ändern:

In dieser Abfrage wird der Sub -Query im Set -Clan für jede Zeile in Tabelle 1 ausgeführt, und der Wertwert wird gemäß der entsprechenden Zeile in Tabelle2 aktualisiert. Wo Klauseln sicherstellen, dass sie nur die Linie aktualisieren.
<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

Oder können Sie die folgende Methode ausprobieren, abhängig von der Aktualisierung der inneren zugehörigen Ansicht:

Diese Methode verwendet die interne Ansichtsansicht, um die Verbindung auszuführen und dann die Ergebnisse zu aktualisieren, um die grundlegende Tabelle zu aktualisieren.
<code class="language-sql">UPDATE
(
  SELECT table1.value AS OLD, table2.CODE AS NEW
  FROM table1
  INNER JOIN table2
  ON table1.value = table2.DESC
  WHERE table1.UPDATETYPE = 'blah'
) t
SET t.OLD = t.NEW;</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie führe ich eine Oracle -Update -Abfrage mit einem inneren Join richtig 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