Database Reference
In-Depth Information
Oracle benutzt also User Bind Peeking für SQL-Anweisungen mit systemgenerierten
genauso wie mit programmierten Bind-Variablen mindestens seit dem Oracle Release
10.2.0.4 (die älteren Releases habe ich mit diesem Test-Case nicht geprüft).
11.3
Einschränkung
Der Parameter cursor _ sharing hat keine Wirkung auf die rekursiven Cursor. Das folgende
Beispiel demonstriert das.
64/!FROVVVQRSULQWQHZBYDOXHVVV
64/!
64/!VHOHFWWRBFKDUV\VGDWH\\\\PPGGKKPLVVVVVIURPGXDO
64/!DOWHUVHVVLRQVHWFXUVRUBVKDULQJ IRUFH
64/!
64/!GHFODUH
YYYQXPEHU
EHJLQ
VHOHFWFRXQWLQWRYYYIURPGXDOZKHUHGXPP\ VVV
HQG
64/!
64/!VHOHFWVTOBWH[WIURPYVTOZKHUHVTOBWH[WOLNHVVVDQGFRPPDQGBW\SH
64/B7(;7
6(/(&7&2817)520'8$/:+(5('800<
Peter: „ Ich kann mir kaum vorstellen, dass jemand massenhaft SQL-Anweisungen mit Litera-
len in PL/SQL programmiert. Aus diesem Grund scheint mir diese Einschränkung nicht von
großer Bedeutung zu sein.
Leonid: „ Einerseits hast Du Recht. Andereseits gibt es Anwendungen, welche SQL-An-
weisungen nicht direkt, sondern immer in einem anonymen PL/SQL-Block ausführen. Zum
Beispiel folgendermaßen.
64/!EHJLQ
LQVHUWLQWRWDEYDOXHV
HQG
3/64/SURFHGXUHVXFFHVVIXOO\FRPSOHWHG
L.: „ Wenn Literale in solchen PL/SQL-Blöcken Parsing-Probleme verursachen, bleibt nichts
anderes übrig, als diese Literale durch Bind-Variablen im Programmcode zu ersetzen, weil
der Parameter cursor _ sharing in diesem Fall nicht helfen kann.
 
Search WWH ::




Custom Search