CASE敏感性问题与Oracle SQL开发人员VER -2.1.1.64
-
08-10-2019 - |
题
我刚刚开始使用“ Oracle SQL开发人员”工具,在创建和调用表时似乎对案例敏感。我总是假设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开发人员的问题。如果这是实际查询,则在第二列之后您会有一个额外的逗号。
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
从T1中选择C1,C2 相反,应该只是 从T1选择C1,C2;
通常,如果您不确定该工具是否不按预期工作,那么SQL Plus是验证简单测试用例的最佳选择。从这个意义上讲,这是一个宝贵的工具。
不隶属于 StackOverflow