Om det inte hade varit för id-numret som du hämtar från tblNextId så hade du kunnat göra hela importen med en enda SQL-sats (INSERT INTO .... SELECT ...), men som det är nu är det i princip rätt.
Det verkar vara en rutin som körs under kontrollerade former, så du skulle kunna nöja dig med att hämta ut värdet från tblNextId en enda gång, och uppdatera tblNextId en enda gång. Du vet ju att räknaren ökar med 1 för varje varv.
Kategorinamnet går att hämta ut i första frågan.
SELECT a.articlenumber, a.articleName, a.articleUnit, l.listName
FROM tblArticle a
LEFT JOIN tblList l ON LEFT(a.articleNumber,2)=l.listNr
ORDER BY a.articlenumber
Och ja, man förlorar en del prestanda på att jobba över databasgränsen. Hur mycket är svårt att sia om.
Det verkar gå fortare.... Nu är det ju 200 000 artiklar som skall loopas ut, så visst tar det lite tid. Men detta är en operation som görs 3 gånger per år.
Inget annat som går att optimera i koden?
Mvh
Henrik
265 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849