在 Oracle 中创建具有多个外键的表

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/30875588/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-19 02:54:59  来源:igfitidea点击:

Creating Table that has multiple Foreign Keys in Oracle

oracle

提问by SGIL

I'm trying to create a table of ENCOUNTER entity. I have successfully created all the foreign key tables associated with this table, but when I try to run it on Oracle Database Express Edition 11g, it's keep giving the following error message, and I cannot find any error. ORA-00907: missing right parenthesisBelow is the command syntax.

我正在尝试创建一个 ENCOUNTER 实体表。我已经成功创建了与该表关联的所有外键表,但是当我尝试在 Oracle 数据库快捷版 11g 上运行它时,它不断给出以下错误消息,我找不到任何错误。ORA-00907: missing right parenthesis下面是命令语法。

CREATE TABLE ENCOUNTER (
ENCT_ID VARCHAR2(25) PRIMARY KEY,
ENCT_DATE DATE NOT NULL,
PT_MRN NUMBER NOT NULL,
ENCT_BP VARCHAR2(10) NOT NULL,
ENCT_WT NUMBER(3,2) NOT NULL,
ENCT_TEMP NUMBER(3) NOT NULL,
ACCT_ID VARCHAR2(25) NOT NULL,
PHX_ID VARCHAR2(25) NOT NULL,
CONSTRAINT FK_PATIENT FOREIGN KEY (PT_MRN) REFERENCES PATIENT(PT_MRN)
CONSTRAINT FK_ACCOUNT FOREIGN KEY (ACCT_ID) REFERENCES ACCOUNT(ACCT_ID)
CONSTRAINT FK_PTHISTORY FOREIGN KEY (PHX_ID) REFERENCES PTHISTORY(PHX_ID));

回答by jongusmoe

I believe you are missing commas after each constraint.

我相信您在每个约束之后都缺少逗号。

CREATE TABLE ENCOUNTER (
ENCT_ID VARCHAR2(25) PRIMARY KEY,
ENCT_DATE DATE NOT NULL,
PT_MRN NUMBER NOT NULL,
ENCT_BP VARCHAR2(10) NOT NULL,
ENCT_WT NUMBER(3,2) NOT NULL,
ENCT_TEMP NUMBER(3) NOT NULL,
ACCT_ID VARCHAR2(25) NOT NULL,
PHX_ID VARCHAR2(25) NOT NULL,
CONSTRAINT FK_PATIENT FOREIGN KEY (PT_MRN) REFERENCES PATIENT(PT_MRN),
CONSTRAINT FK_ACCOUNT FOREIGN KEY (ACCT_ID) REFERENCES ACCOUNT(ACCT_ID),
CONSTRAINT FK_PTHISTORY FOREIGN KEY (PHX_ID) REFERENCES PTHISTORY (PHX_ID));