在其中创建带有外键的表会出现错误ORA-00904 :: Oracle 10g中的无效标识符

问题描述 投票:-1回答:2

Image of the code with table, query and error

我在计算机上安装了oracle 10g。我在其中创建了一个名为STUDENT的表,该STUDENT表具有一个称为RNO的主键,现在我想创建另一个名为FEE的表,并使用以下查询将该RNO密钥转换为FEE表中的外键:

CREATE TABLE FEE ( RNO NUMBER(2), Amount number(20) Not Null, Date varchar2(10) Not Null, Receipt Number(10) Not Null, CONSTRAINT FEEFK FOREIGN KEY (RNO) REFERENCES STUDENT (RNO));

现在,我已尽力纠正了它,但似乎无法在上述查询中找到任何问题或错误。查询在Oracle 10g中给出以下错误:

ORA-00904::无效的标识符

sql oracle oracle10g
2个回答
2
投票

列名不能为DATE,保留用于数据类型。将其重命名为CDATE

SQL> CREATE TABLE student (rno NUMBER (2) PRIMARY KEY);

Table created.

SQL> CREATE TABLE FEE
  2  (
  3     RNO      NUMBER (2),
  4     Amount   NUMBER (20) NOT NULL,
  5     cDate    VARCHAR2 (10) NOT NULL,
  6     Receipt  NUMBER (10) NOT NULL,
  7     CONSTRAINT FEEFK FOREIGN KEY (RNO) REFERENCES STUDENT (RNO)
  8  );

Table created.

SQL>

0
投票

使用双qoutes“ Date”或将列Date重命名为其他名称,如DateColumn as Date是Oracle中fpr日期类型的保留名称

© www.soinside.com 2019 - 2024. All rights reserved.