Oracle
 sql >> Database >  >> RDS >> Oracle

ORA-00911:Carattere non valido tramite ODBC, SQL adhoc - nei commenti?

Se un commento include l'intera parola end quindi il driver (o il server) Oracle sembra interpretarlo male. Se rimuovi il end parola all'interno del commento, l'istruzione viene eseguita correttamente.

Penso che ciò sia dovuto al fatto che non si aspetta un punto e virgola dopo aver sperimentato una direttiva "fine" (anche se non dovrebbe analizzare un commento).

La seguente istruzione viene eseguita senza problemi e restituisce 7.

/* end */\nSELECT 7 FROM MyTable 

La seguente dichiarazione solleva ORA-00911

/* end */\nSELECT 6 FROM MyTable;

La seguente istruzione restituisce 5

/**/\nSELECT 5 FROM MyTable;

È probabile che Oracle analizzi il commento perché è così che applica i "suggerimenti" di ottimizzazione/operazione di join.