Aber Du Joinst die View mit dem Artikelstamm.
SELECT * beinhaltet also nicht nur die Felder aus der View sondern auch die Felder aus dem Artikelstamm.

Entweder musst Du Datenstrukturen für beide Dateien (View und Artikel-Stamm) im Fetch angeben.
Sofern nur die View benötigt wird, kannst Du auch mit SELECT View.* From View ... arbeiten.

... und nach meiner Erfahrung (und ich habe schon das eine oder andere embedded SQL Programm geschrieben) ist dynamsiches SQL nur notwendig wenn die Dateien nicht bekannt sind und dynamisch verwendet werden und das ist bei Anwendern i.d.R. meist nicht der Fall. Damit müssen sich (allenfalls) Toolhersteller rumschlagen.
Sowohl WHERE-Bedingungen als auch ORDER BY-Anweisungen können über statische Case-Anweisungen dynamisch gesteuert werden.

Ebenso ist i.d.R. ein SELECT * nicht erforderlich. Wenn man wirklich nur die notwendigen Daten selektiert und nicht jede Menge unnötiger Daten hin- und herschaufelt, kann man einiges an Datenbankenaktivität vermeiden.

Birgitta