Das Update Statement selbst braucht auch eine Where Clause, wenn Du bei einem reinen Update Statement bleiben willst.
zb.
SQL-Code:
update artikelpreise p1
set p1.bruttopreis =
(SELECT bruttoneu as bruttopreis
FROM artikelpreiseaenderung p2
WHERE p1.artikelpreis_id = p2.artikelpreis_id),
p1.nettopreis =
(SELECT (bruttoneu / (100 + p2.mwstsatz) * 100)
as nettopreis
FROM artikelpreiseaenderung p2
WHERE p1.artikelpreis_id = p2.artikelpreis_id)
where p1.artikelpreis_id in
(select artikelpreis_id from artikelpreiseaenderung )
Ich weiß aber nicht, ob 'where.. in..' so in Firbird funktioniert, notfalls dazu die Syntax anpassen.