Si un commentaire inclut le mot entier end
alors le pilote Oracle (ou le serveur) semble mal interpréter cela. Si vous supprimez le end
mot dans le commentaire, l'instruction s'exécute correctement.
Je pense que c'est parce qu'il n'attend pas de point-virgule après avoir rencontré une directive "end" (même s'il ne devrait pas analyser un commentaire).
L'instruction suivante s'exécute sans problème et renvoie 7.
/* end */\nSELECT 7 FROM MyTable
L'instruction suivante déclenche ORA-00911
/* end */\nSELECT 6 FROM MyTable;
L'instruction suivante renvoie 5
/**/\nSELECT 5 FROM MyTable;
Il est probable qu'Oracle analyse le commentaire car c'est ainsi qu'il applique les "conseils" d'opération/d'optimisation de jointure.