... erst überlegen, dann schreiben (passiert mir manchmal auch!). Natürlich wird ein SQL Statement zur Compiletime aufgelöst - wenn es denn geht (dynamic SQL lässt grüßen) - die Frage ist doch, ob das auch zur runtime passieren kann. Was schon immer so war, ist: dass zur runtime zuweilen der Access Path neu berechnet wird, was dann alles passiert, ist undokumentiert (:= steht nirgends, was nicht heißt, dass es ein paar Schlauschwätzer geben mag, die behaupten, es besser zu wissen). Was auch unbestreitbar ist, dass IBM an ein paar Stellen mit neueren Releases restriktiver wurde, was manchem auf die Füße fällt. Unbestreitbar ist auch, dass mit den global SQL Variablen einiges an Prüfungen nicht mehr geht.

Was lernen wir daraus: In erster Linie, wer Views nicht ändert hat wenig Probleme. In zweiter Linie, wer select * vermeidet und fetch in eine externe Datenstruktur macht, gleichzeitig die Änderung von Tabellen und Views für durchführbar hält, hat nix begriffen - denk mal darüber nach!

D*B