oracle报错00905,ORACLE 建表出现‘ORA-00905: missing keyword’的异常

ORACLE 建表出现‘ORA-00905: missing keyword’的错误

点击右边红色标题查看本文完整版:ORACLE 建表出现‘ORA-00905: missing keyword’的错误

在ORACLE 10G上面建一个表,总是出现‘ORA-00905: missing keyword’的错误,具体sql语句如下,请高手指点一下:

================================================================================================

CREATE TABLE MGPCONDELE (MGPCONDELE_ID NUMBER(19) NOT NULL, MBRGRP_ID NUMBER(19) NOT NULL, NAME VARCHAR2(64) NOT NULL, TYPE VARCHAR2(64) NOT NULL, PARENT VARCHAR2(64), SEQUENCE DOUBLE, OPTCOUNTER SMALLINT NOT NULL DEFAULT 0 , NEGATE SMALLINT NOT NULL DEFAULT 0, VARIABLE VARCHAR2(254), OPERATOR VARCHAR2(16), VALUE VARCHAR2(254), CONDNAME VARCHAR2(254), CONSTRAINT MBRGRPELE_PK PRIMARY KEY(MGPCONDELE_ID), CONSTRAINT MBRGRPELE_FK FOREIGN KEY (MBRGRP_ID) REFERENCES MBRGRP(MBRGRP_ID) ON DELETE CASCADE);

================================================================================================

这个语句是从DB2上面改过来的,就改了一些数据类型的定义,别的没动。

------解决方法--------------------

改成这样

CREATE TABLE MGPCONDELE (

MGPCONDELE_ID NUMBER(19) NOT NULL,

MBRGRP_ID NUMBER(19) NOT NULL,

NAME VARCHAR2(64) NOT NULL,

TYPE VARCHAR2(64) NOT NULL,

PARENT VARCHAR2(64),

SEQUENCE float, -- 没有double,有float

OPTCOUNTER smallINT  DEFAULT 0 NOT NULL, -- NOT NULL 和 DEFAULT顺序要调整过来

NEGATE SMALLINT DEFAULT 0 NOT NULL ,

VARIABLE VARCHAR2(254),

OPERATOR VARCHAR2(16),

VALUE VARCHAR2(254),

CONDNAME VARCHAR2(254),

CONSTRAINT MBRGRPELE_PK PRIMARY KEY(MGPCONDELE_ID)

CONSTRAINT MBRGRPELE_FK FOREIGN KEY (MBRGRP_ID)

REFERENCES MBRGRP(MBRGRP_ID)

ON DELETE CASCADE

);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "ora-00905: missing keyword" 意思是在SQL语句中缺少关键字。这通常是由于在语句中缺少必要的关键字或者使用了错误的关键字导致的。请检查您的SQL语句,确保包含所有必要的关键字,并且使用正确的语法。 ### 回答2: ORA-00905错误是Oracle数据库中的常见错误之一。它提示用户一个缺失的关键字,这意味着在SQL语句中没有提供完整的关键字和正确的语法。此错误会在执行SQL语句时自动触发。 首先,应该检查SQL语句中是否缺失关键字,例如SELECT、FROM、WHERE、JOIN、GROUP BY、HAVING、ORDER BY等等。如果遗漏了这些关键字,将导致ORA-00905错误。在大多数情况下,这个错误可以通过添加必要的关键字来解决。 此外,还需要检查SQL语句中的空格和语法错误等。如果在SQL语句中有空格或语法错误,例如缺失括号、引号等,那么将会触发ORA-00905错误。 解决ORA-00905错误可以通过以下几种方法: 1.在SQL语句中添加缺失的关键字 2.检查SQL语法和语法错误,确保语句中的空格、括号和引号都是正确的 3.使用数据库工具或网站,如SQL Fiddle、SQL Plus等来查找ORA-00905错误的原因 4.阅读Oracle数据库的文档和相关文献,以更好的理解SQL语句的语法和Oracle数据库的功能。 总之,ORA-00905错误是Oracle数据库中常见的错误之一,如果出现此错误,应该仔细检查SQL语句中是否缺失关键字或存在语法错误。通过添加必要的关键字和修复语法错误,可以很容易地解决这个问题。 ### 回答3: ORA-00905Oracle数据库经常遇到的错误之一,它的意思是关键字缺失,通常在SQL语句中出现语法错误时会出现,表示可能的关键字在SQL语句中缺失或者位置不正确。 ORA-00905: missing keyword错误通常出现在执行SQL语句的时候。这可以是由于许多原因引起的,包括: 1. SQL语句中的关键字拼写错误或缺失。 2. 表名或列名在SQL语句中拼写错误或缺失。 3. 待查询数据表不存在或未正确给出。 4. 表达式或函数调用中缺少必需的关键字或参数。 5. SQL语句中使用了无效或不存在的关键字或字符等。 解决ORA-00905错误的方法大多数情况下是检查SQL语句是否有语法错误,包括确保表名、列名拼写正确、用逗号分隔多个字段、正确确定关键字位置等。 此外,还可以检查数据库中的表是否正确创建或是否存在,是否使用正确的数据类型,以及使用正确的语法格式等等。 在解决ORA-00905错误之前,需要检查SQL语句和相关表以确保所有关键字和参数都正确。如果发现错误,则需要对其进行纠正并重新执行SQL语句。 总之,ORA-00905错误是一个典型的语法错误,如果存在这种错误情况,需要检查SQL语句是否按照语法正确书写,或者是否表名、列名和数据类型等信息是否正确。通常这些问题的修正可以解决这个错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值