sql >> Databáze >  >> RDS >> Oracle

ORA-00911:Neplatný znak přes ODBC, Adhoc SQL - v komentářích?

Pokud komentář obsahuje celé slovo end pak se zdá, že ovladač Oracle (nebo server) to interpretuje špatně. Pokud odstraníte end slovo v komentáři, příkaz se provede správně.

Domnívám se, že je to proto, že neočekává středník poté, co zažije direktivu 'end' (i když by neměla analyzovat komentář).

Následující příkaz se provede bez problémů a vrátí 7.

/* end */\nSELECT 7 FROM MyTable 

Následující prohlášení vyvolává ORA-00911

/* end */\nSELECT 6 FROM MyTable;

Následující příkaz vrátí 5

/**/\nSELECT 5 FROM MyTable;

Je pravděpodobné, že Oracle komentář analyzuje, protože tak aplikuje „nápovědy“ pro operaci spojení/optimalizaci.




  1. Max_connections v MySQL 5.7

  2. Je urlencode() dostatečně dobrý, aby zastavil všechny útoky SQL injection v roce 2011

  3. Existuje konvence pro pojmenované argumenty ve funkci v PostgreSQL

  4. Aktualizujte sloupec Clob v Oracle