基本Oracle SQL错误消息ORA-00900

时间:2019-06-10 00:56:45

标签: sql oracle

我刚开始编写SQL,但是在这一点上我对基础知识有相当的了解。我试图弄清楚为什么我收到以下错误消息:ORA-00900:无效的SQL语句。

另外,如果我可以找到引起错误的行,这将有所帮助。

CREATE TABLE ADVENTURE_TRIP (
    COLUMN CHAR(15) PRIMARY KEY,
    TYPE CHAR(15),
    LENGTH CHAR(15),
    DECIMAL_PLACES CHAR(15),
    NULLS_ALLOWED CHAR(15) NOT NULL, 
    DESCRIPTION CHAR(25)
);

2 个答案:

答案 0 :(得分:3)

COLUMN是保留字,不适用于列名。您应该为该列选择一个更好的名称。

尽管TYPE也是保留字,但允许将其用作列名。我也会改变的。

此外,对于Oracle中的字符串类型,通常VARCHAR2()CHAR()更为可取。

保留字的列表为here

答案 1 :(得分:0)

@Gordon描述了正确的理由。 应避免使用保留关键字。

但是,如果您确实要按照问题中的说明创建表,则可以使用以下代码:

CREATE TABLE ADVENTURE_TRIP (
    "COLUMN" CHAR(15) PRIMARY KEY,
    "TYPE" CHAR(15),
    LENGTH CHAR(15),
    DECIMAL_PLACES CHAR(15),
    NULLS_ALLOWED CHAR(15) NOT NULL, 
    DESCRIPTION CHAR(25)
);

双引号可用于此目的。 这只是为了使您理解,但在现实世界中,必须避免使用保留的关键字。 这是Demo