在其中创建带有外键的 table 会出现错误 ORA-00904: : oracle 10g 中的标识符无效
creating a table with Foreign key in it gives error ORA-00904: : invalid identifier in oracle 10g
Image of the code with table, query and error
我的电脑上安装了oracle 10g。我在其中创建了一个名为 STUDENT 的 table,这个 STUDENT table 有一个名为 RNO 的主键,现在我想创建另一个名为 FEE 的 table 并将这个 RNO 键变成外键在 FEE table 中使用以下查询:
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: : invalid identifier
列名不能是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>
使用双引号 "Date" 或将您的列 Date 重命名为其他名称,例如 Date Column,因为 Date 是 oracle 中的保留名称 fpr date types
Image of the code with table, query and error
我的电脑上安装了oracle 10g。我在其中创建了一个名为 STUDENT 的 table,这个 STUDENT table 有一个名为 RNO 的主键,现在我想创建另一个名为 FEE 的 table 并将这个 RNO 键变成外键在 FEE table 中使用以下查询:
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: : invalid identifier
列名不能是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>
使用双引号 "Date" 或将您的列 Date 重命名为其他名称,例如 Date Column,因为 Date 是 oracle 中的保留名称 fpr date types