【发布时间】:2015-02-20 15:09:06
【问题描述】:
我目前正在学习 SQL,并且我已经在我的系统上安装了 oracle 11g express。我正在尝试创建一个表,但是当我尝试运行以下命令时,我收到以下错误消息:
第 3 行出现错误: ORA-00904: 无效的标识符
CREATE TABLE PROJECTS (
proID NUMBER(4) NOT NULL,
Desc CHAR(20),
sDate DATE,
eDate DATE,
Budget NUMBER(7,2),
maxStaff NUMBER(2)
);
谁能告诉我我做错了什么?
感谢所有回复,我成功运行了这个命令:
CREATE TABLE PROJECTS (
proID NUMBER(4) NOT NULL,
description CHAR(20),
sDate DATE,
eDate DATE,
Budget NUMBER(7,2),
maxStaff NUMBER(2)
);
真的很感谢您的快速回复!
克里斯
【问题讨论】:
-
DESC是保留字,是ORDER BT中DESCENDING的缩写
-
尝试使用 [Desc] 代替 Desc
-
另外,请考虑不要缩写您的列名。你有 30 个字符可以使用,我建议使用所有字符。例如,将
sDate扩展为START_DATE。它将使视图/API 创建更易于阅读。 -
在这里查看Oracle中的保留关键字列表:docs.oracle.com/cd/B19306_01/em.102/b40103/…
-
@KhurramAli,
[identifier]是非标准的,由 Microsoft SQL Server 使用,而不是 Oracle。
标签: sql database oracle oracle11g