hallo zusammen,
ich habe folgendes SQLstatement:
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 ),
aenderer = 'preispflege',
aenderdat = '04.11.10';
damit werden die Preise aus der Änderungstabelle in die Stammdatentabelle übernommen und dabei der Nettopreis berechnet.
Leider dauert dieses Statement bei nur 1000 DS bereits fast eine Minute.
Ein Prog das die DS der Änderungstabelle in einer Schleife durchgeht und die Artikelpriese einzeln ändert, dauert sogar 90sek.
Das obige in Firebird abesetzt braucht fast genau so lang.
Das sollte doch scheller gehen.
Was kann ich anders machen?
Gruss KHH