Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Fehler in Oracle-Abfrage Unterabfrage mit einer Zeile gibt mehr als eine Zeile zurück

Sie sollten die key presered view verwenden, um mit dieser Abfrage zu aktualisieren. Oracle erlaubt keine From-Klausel in der Update-Abfrage. Oder verwenden Sie Correlated Update oder Merge with Update only.

Post

Korreliertes Update:

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 )