UPDATE bar b
SET foo_id = fb.foo_id
FROM foo_bar fb
WHERE fb.bar_id = b.bar_id;
Wenn Sie mehrere Zeilen für einen bar
haben sollten (was Sie laut Ihrer Beschreibung nicht tun sollten) Die eine Zeile wird mehrmals aktualisiert und das Ergebnis ist willkürlich.
Diese Form der Abfrage ist im Allgemeinen leistungsfähiger als eine korrelierte Unterabfrage.
Beachten Sie, dass der Primärschlüssel bar
ist sollte eigentlich bar_id
heißen - Ich verwende diesen Namen in der Abfrage.