我刚刚开始使用“ 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是验证简单测试用例的最佳选择。从这个意义上讲,这是一个宝贵的工具。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top