UPDATE bar b
SET foo_id = fb.foo_id
FROM foo_bar fb
WHERE fb.bar_id = b.bar_id;
Als u meerdere rijen zou moeten hebben voor één bar
(wat volgens uw beschrijving niet zou moeten) de ene rij wordt meerdere keren bijgewerkt en het resultaat is willekeurig.
Deze vorm van de zoekopdracht presteert over het algemeen beter dan een gecorreleerde subquery.
Merk op dat de primaire sleutel van bar
zou eigenlijk bar_id
moeten heten - Ik gebruik die naam in de zoekopdracht.