oracle ORA-00933错误,但查询具有正确的子句

jaxagkaj  于 2022-12-03  发布在  Oracle
关注(0)|答案(2)|浏览(217)

我有“ORA-00933:sql命令未正确结束”错误:

SELECT FILIALE_CHIUSA FROM FILIALI_CHIUSE WHERE FILIALE IN (9909);

该表是

CREATE TABLE FILIALI_CHIUSE (
                              FILIALE NUMBER(5,0) NOT NULL,
                              FILIALE_CHIUSA NUMBER(5,0) NOT NULL
                           );

我已经检查过了,但是查询似乎是正确的,没有错误的子句,那么问题在哪里呢?

lymnna71

lymnna711#

create table语句无效; Oracle不支持if not exists

SQL> CREATE TABLE IF NOT EXISTS FILIALI_CHIUSE (
  2                                FILIALE NUMBER(5,0) NOT NULL,
  3                                FILIALE_CHIUSA NUMBER(5,0) NOT NULL
  4                             );
CREATE TABLE IF NOT EXISTS FILIALI_CHIUSE (
                *
ERROR at line 1:
ORA-00922: missing or invalid option

如果没有该条款:

SQL> CREATE TABLE FILIALI_CHIUSE
  2    (FILIALE NUMBER(5,0) NOT NULL,
  3     FILIALE_CHIUSA NUMBER(5,0) NOT NULL
  4    );

Table created.

select也可以工作(但是,由于表为空,因此不返回任何内容):

SQL> SELECT FILIALE_CHIUSA FROM FILIALI_CHIUSE WHERE FILIALE IN (9909);

no rows selected

SQL>
bgibtngc

bgibtngc2#

问题与最后一个分号有关,它没有被正确处理。删除它就解决了。

相关问题