Zitat Zitat von Fuerchau Beitrag anzeigen
Ich kann nur die Parameter nicht als Hostvariable angeben.
Und warum nicht?

Der Fetch prüft zur Compilezeit nicht, ob die Variablen zum Select passen. Dies muss nur zur Laufzeit stimmen.
Allerdings empfielt sich bei dynamischem SQL kein "Select *", da sich die Ergebnisliste ja ändern kann.
Allerdings nur beim dynamischen SQL, da zu diesem Zeitpunkt ja nicht bekannt ist wie das Statement zur Laufzeit aussehen wird!
Beim Statischen erfolgt eine Prüfung der Host-Variablen.

Beim embedded SQL wird der "Select *" auf die Spalten zur Compilezeit bechränkt.
Jetzt reden wir wieder von statischem SQL, da zur Laufzeit das Statement bekannt ist und damit auch auf welche Tabelle(n), View(s) zugegriffen wird.
Beim dynamischen SQL ist das SQL-Statement zur Compile-Zeit ja noch nicht bekannt!

Diese Regeln gelten unabhängig ob embedded SQL oder reine SQL-Programmierung verwendet wird.

Birgitta