Hallo,

1. Wo willst Du das FOR READ ONLY angeben?
FOR READ ONLY ist Bestandteil des SELECT-Statements (und nicht des DECLARE-Statements) und muss deshalb in den String der PREPARED werden soll integriert werden.

2. Ist das SQL statement wirklich dynamisch, d.h. werden unterschiedliche Spalten verwendet oder wechseln die Dateien/Tabellen bei den einzelnen Aufrufen.
Wenn beides mit NEIN beantwortet werden kann, ist dynamsiches SQL NICHT erforderlich.
Hostvariablen für unterschiedliche Selektionen und unterschiedliche Sortiertungen über CASE-Anweisungen sind beim statischen SQL möglich.
Beim statischen SQL wird das SQL Statement zur Compile-Zeit geprüft und fällt nicht erst zur Laufzeit auf die Nase.

Birgitta