今天我在apex.oracle.com上以SQL命令方式创建了一个表,但是这个命令不执行表。但为什么
CREATE TABLE DESIGBEH (
DID NUMBER(10),
TYPE VARCHAR2(30),
PARANT VARCHAR2(30),
DEPTNAME VARCHAR2(30),
DNAME VARCHAR2(30),
DESC VARCHAR2(100),
STATUS VARCHAR2(10),
PRIMARY KEY (DID) USING INDEX ENABLE
);
ORA-00904 表示您的列名之一无效。罪魁祸首是列
TYPE
和DESC
。它们位于 Oracle 中众多保留字的列表中。
请在此处查看完整列表:https://docs.oracle.com/cd/B19306_01/em.102/b40103/app_oracle_reserved_words.htm
问题是由于保留单词
DESC
用作列名称造成的。您可以尝试使用 DESC_
作为列名。即您不能使用一些保留的单词作为列名,例如单词 CREATE
、TABLE
、AS
、DROP
等。
我在这里遇到了一个棘手的问题。我使用了视图而不是表,并且视图尚未更新以包含该列!
首先在视图定义中,然后在定义要用作交互式网格数据源的视图的 apex sql 中。