Oracle
 sql >> Baza danych >  >> RDS >> Oracle

ORA-00911:Nieprawidłowy znak przez ODBC, Adhoc SQL - w komentarzach?

Jeśli komentarz zawiera całe słowo end wtedy sterownik (lub serwer) Oracle źle to interpretuje. Jeśli usuniesz end słowo w komentarzu, instrukcja zostanie wykonana poprawnie.

Myślę, że dzieje się tak, ponieważ nie oczekuje średnika po wystąpieniu dyrektywy „koniec” (mimo że nie powinien analizować komentarza).

Poniższa instrukcja jest wykonywana bez wydania i zwraca 7.

/* end */\nSELECT 7 FROM MyTable 

Poniższe oświadczenie podnosi ORA-00911

/* end */\nSELECT 6 FROM MyTable;

Poniższa instrukcja zwraca 5

/**/\nSELECT 5 FROM MyTable;

Prawdopodobnie Oracle analizuje komentarz, ponieważ w ten sposób stosuje „wskazówki” dotyczące operacji łączenia/optymalizacji.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CASE .. WHEN wyrażenie w Oracle SQL

  2. Porównanie dat w Oracle SQL zwraca błędny wynik

  3. ORA-00907:Brak prawego nawiasu przy tworzeniu klucza obcego Oracle 12c

  4. Błąd podczas używania pliku oracle.dataaccess.dll

  5. Wykrywaj, usuwaj puste kolumny i aktualizuj bazę danych w sql, oracle