Wenn ein Kommentar das ganze Wort end
enthält dann scheint der Oracle-Treiber (oder Server) dies schlecht zu interpretieren. Wenn Sie das end
entfernen Wort innerhalb des Kommentars, wird die Anweisung korrekt ausgeführt.
Ich denke, das liegt daran, dass es kein Semikolon erwartet, nachdem es eine 'end'-Direktive erfahren hat (obwohl es keinen Kommentar analysieren sollte).
Die folgende Anweisung wird ohne Probleme ausgeführt und gibt 7.
zurück/* end */\nSELECT 7 FROM MyTable
Die folgende Anweisung löst ORA-00911
aus/* end */\nSELECT 6 FROM MyTable;
Die folgende Anweisung gibt 5
zurück/**/\nSELECT 5 FROM MyTable;
Es ist wahrscheinlich, dass Oracle den Kommentar parst, weil es auf diese Weise „Hinweise“ zur Join-Operation/Optimierung anwendet.