Проблема чувствительности кейса с разработчиком Oracle SQL Ver - 2.1.1.64
-
08-10-2019 - |
Вопрос
Я только что начал использовать инструмент «Oracle SQL Developer», и он, кажется, чувствителен к регистру при создании и вызова таблиц. Я всегда был под предположение, что Oracle в качестве базы данных нечувствителен к регистру. Текущая версия базы данных составляет 10.2.0.4.0.
Пример:
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:
*/
Я никогда раньше не видел этого поведения и попытаюсь выяснить, если это проблема с инструментом или базой данных, и если у кого-то есть решение.
Решение
Определенно не проблема с базой данных Oracle и не проблема с Oracle SQL Developer. Если это фактический запрос, у вас есть дополнительная запятая после второго столбца.
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
Выберите C1, C2, из T1 следует вместо этого быть просто Выберите C1, C2 из T1;
В целом, если у вас возникнет вопрос, когда вы не уверены, если инструмент не работает должным образом, SQL Plus является вашим лучшим ставкам для проверки простых тестовых случаев. Это бесценный инструмент в этом смысле.