Heim > Datenbank > MySQL-Tutorial > Wie kann ich ORA-01427 in meiner Oracle UPDATE-Anweisung mit einer JOIN-Unterabfrage beheben?

Wie kann ich ORA-01427 in meiner Oracle UPDATE-Anweisung mit einer JOIN-Unterabfrage beheben?

Patricia Arquette
Freigeben: 2024-12-17 01:54:25
Original
378 Leute haben es durchsucht

How Can I Fix ORA-01427 in My Oracle UPDATE Statement with a JOIN Subquery?

Update mit Join-Abfrage in Oracle

Ein Oracle-Benutzer hat eine endlose Ausführungszeit für die folgende Abfrage festgestellt:

UPDATE table1 t1 SET (t1.col,t1.Output) = (
  SELECT t2.col, t3.Output + t2.col
  FROM tabl2 t3 
  LEFT JOIN table1 t2 ON t3.Join_Key = t2.Join_Key
  WHERE t2.col is not NULL);
Nach dem Login kopieren

Sofern die SELECT-Unterabfrage kein einzeiliges Ergebnis garantiert, schlägt die UPDATE-Anweisung mit dem fehl Fehler:

ORA-01427: single-row subquery returns more than one row
Nach dem Login kopieren

Korrelierte Aktualisierungen erfordern eine Bedingung, die Zeilen in der äußeren Tabelle (in diesem Fall Tabelle1) und der inneren Unterabfrage verknüpft. Normalerweise tritt diese Bedingung auf:

AND t1.some_key = t2.some_key);
Nach dem Login kopieren

Zusätzlich aktualisiert die Abfrage jede Zeile in Tabelle1. Wenn der Benutzer bestimmte Zeilen aktualisieren möchte, sollte eine WHERE-Klausel hinzugefügt werden, die basierend auf der Join-Bedingung filtert, wie zum Beispiel:

...
WHERE subquery_condition
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich ORA-01427 in meiner Oracle UPDATE-Anweisung mit einer JOIN-Unterabfrage beheben?. 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