Проблема чувствительности кейса с разработчиком Oracle SQL Ver - 2.1.1.64

StackOverflow https://stackoverflow.com/questions/4411401

Вопрос

Я только что начал использовать инструмент «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 является вашим лучшим ставкам для проверки простых тестовых случаев. Это бесценный инструмент в этом смысле.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top