Caso problema sensibilità con Oracle SQL Developer ver - 2.1.1.64
-
08-10-2019 - |
Domanda
Ho appena iniziato a utilizzare lo strumento "Oracle SQL Developer" e sembra essere maiuscole e minuscole durante la creazione e chiamando tabelle. Ero sempre sotto l'ipotesi che Oracle come database di stato case insensitive. La versione corrente del database è 10.2.0.4.0.
Esempio:
CREATE TABLE T1
( c1 VARCHAR2 (50),
c2 VARCHAR2 (50)
);
SELECT C1, C2 FROM t1;
-- This is fine. No errors
SELECT c1, c2, FROM t1;
/*
Error starting at line 18 in command:
SELECT c1, c2, from t1
Error at Command Line:18 Column:15
Error report:
SQL Error: ORA-00936: missing expression
00936. 00000 - "missing expression"
*Cause:
*Action:
*/
Non ho mai visto questo comportamento prima e cercando di capire se questo un problema con lo strumento o il database e se qualcuno ha una soluzione.
Soluzione
Sicuramente non è un problema con il database Oracle e non un problema con Oracle SQL Developer sia. Se questa è la query effettiva, si dispone di una virgola in più dopo la seconda colonna.
SQL> CREATE TABLE T1 ( c1 VARCHAR2 (50), c2 VARCHAR2 (50) );
Table created.
SQL> SELECT C1, C2 FROM t1;
no rows selected
SQL> SELECT c1, c2, FROM t1;
SELECT c1, c2, FROM t1
*
ERROR at line 1:
ORA-00936: missing expression
Seleziona c1, c2, da T1 dovrebbe essere invece solo Seleziona c1, c2 da T1;
In generale, se si dispone di una domanda in cui non si è sicuri se lo strumento non funziona come previsto, SQL Plus è la soluzione migliore per verificare semplici casi di test. Si tratta di uno strumento prezioso in questo senso.