Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 外键-ORA-00904:无效标识符_Sql_Oracle_Foreign Keys - Fatal编程技术网

Sql 外键-ORA-00904:无效标识符

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)

我是新使用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) 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)
);

在外键约束之前声明列。感谢您的回答!我试过这种方法,但现在它显示缺少右括号更新了答案,有额外的;现在它被移除了!!现在就测试一下。。