我对编写SQL相当陌生,但现在我已经对基础知识有了很好的理解。我正在尝试找出为什么会收到以下错误消息: ORA-00900: invalid SQL statement。
此外,如果我能找出是哪一行导致了错误,这将会有所帮助。
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)
);发布于 2019-06-10 08:59:54
单词COLUMN是保留字,不适用于列名。您应该为列选择一个更好的名称。
尽管TYPE也是保留字,但允许将其作为列名。我也会改变这点。
此外,对于Oracle中的字符串类型,通常首选VARCHAR2()而不是CHAR()。
保留字的列表是here。
发布于 2019-06-10 11:47:33
@戈登描述了正确的理由。应避免使用保留关键字。
但是,如果您真的想创建问题中提到的表,那么可以使用以下代码:
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
https://stackoverflow.com/questions/56519457
复制相似问题