sql >> Database >  >> RDS >> Oracle

ORA-00911:Ongeldig teken via ODBC, Adhoc SQL - in opmerkingen?

Als een opmerking het hele woord end bevat dan lijkt de Oracle-driver (of server) dit slecht te interpreteren. Als u de end . verwijdert woord in de opmerking, wordt de instructie correct uitgevoerd.

Ik denk dat dit komt omdat het geen puntkomma verwacht na het ervaren van een 'end'-instructie (hoewel het geen commentaar zou moeten ontleden).

De volgende instructie wordt uitgevoerd zonder probleem en retourneert 7.

/* end */\nSELECT 7 FROM MyTable 

De volgende verklaring roept ORA-00911 op

/* end */\nSELECT 6 FROM MyTable;

De volgende instructie geeft 5

/**/\nSELECT 5 FROM MyTable;

Het is waarschijnlijk dat Oracle de opmerking ontleedt, omdat het zo de 'hints' voor join-bewerking/optimalisatie toepast.




  1. Cross Join zonder dubbele combinaties

  2. Kan de tabel django_migrations niet maken (ORA-02000:zoekwoord ALWAYS ontbreekt)

  3. JQuery Ajax gebruiken om gegevens op te halen uit Mysql

  4. Is het efficiënter om grote pakketten door te geven of id en query db door te geven?