Sql 外键-ORA-00904:无效标识符
我是新使用ORACLE SQL的人,我很难创建外键。 到目前为止我所做的:Sql 外键-ORA-00904:无效标识符,sql,oracle,foreign-keys,Sql,Oracle,Foreign Keys,我是新使用ORACLE SQL的人,我很难创建外键。 到目前为止我所做的: CREATE TABLE PESSOA( PES_CODE INT, PES_NOME VARCHAR2(40), CPF INT, RG VARCHAR2(20), EMAIL VARCHAR2(30) UNIQUE, PRIMARY KEY (PES_CODE) ); CREATE TABLE PROFESSOR( TITULACAO VARCHAR2(20), FOREIGN KEY (PES_CODE)
CREATE TABLE PESSOA(
PES_CODE INT,
PES_NOME VARCHAR2(40),
CPF INT,
RG VARCHAR2(20),
EMAIL VARCHAR2(30) UNIQUE,
PRIMARY KEY (PES_CODE)
);
CREATE TABLE PROFESSOR(
TITULACAO VARCHAR2(20),
FOREIGN KEY (PES_CODE) REFERENCES PESSOA(PES_CODE);
);
添加外键PES_代码引用PESSOAPES_代码将我引导到ORA-00904:PES_代码:使用LiveSQL时出现无效标识符错误。
我也试过类似的东西
CONSTRAINT FK_PES_COD
FOREIGN KEY (PES_CODE) REFERENCES PESSOA(PES_CODE)
但是,这仍然是同样的错误,我不明白为什么
有人能告诉我吗?您需要创建列,然后创建外键约束,如下所示:
CREATE TABLE PROFESSOR(
TITULACAO VARCHAR2(20),
PES_CODE INT, -- this
CONSTRAINT PROFESSOR_PESCODE_FK FOREIGN KEY (PES_CODE) REFERENCES PESSOA(PES_CODE)
);
在外键约束之前声明列。感谢您的回答!我试过这种方法,但现在它显示缺少右括号更新了答案,有额外的;现在它被移除了!!现在就测试一下。。