Das ist ja genau das was ich meine.
Die SQL's können nur wiederverwendet werden, wenn sie IDENTISCH sind. Somit gilt jeder Befehl als neuer SQL und ODP's gibt es nicht.

Wenn ich mir den Befehl so betrachte, wird ja genau eine bestimmte Sicht der Daten verlangt, also ähnlich einem CREATE VIEW die ich dann mittels SELECT * FROM MYVIEW abfrage. Es wird also immer erst eine neue View (eben temporär) verlangt.

Daher erklärt sich auch die Performance, da der SQL generell neu analysiert werden muss, ein SQLPKG also nichts bringt. (Wenn man SQLPKG nicht definiert, wird automatisch eins in QGPL generiert.)

Aber auch auf der Clientseite muss ich mit Parametern arbeiten können !!!!

Wenn ich mit ADO arbeite, so erstelle ich ein Connection-Object an das ich dann Command-Objekte hänge.
Den SQL definiere ich an den richtigen Stellen mit "?" und kann dann jederzeit mit "OpenRecodset" und den Parametern im Array (oder in einer Schleife gefüllt) das Command ausführen.