我刚开始编写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)
);
答案 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