1
下表已经成功实施:创建关联实体表
CREATE TABLE Patient (
Patient_ID CHAR(5) CONSTRAINT Patient_PK PRIMARY KEY,
First_Name VARCHAR2(20) NOT NULL,
Last_Name VARCHAR2(20) NOT NULL,
DoB DATE,
Sex CHAR(1),
Phone NUMBER(10),
Address VARCHAR2(40)
);
CREATE TABLE Physician (
Physician_ID CHAR(5) CONSTRAINT Physician_PK PRIMARY KEY,
First_Name VARCHAR2(20) NOT NULL,
Last_Name VARCHAR2(20) NOT NULL,
Department_ID CHAR(5) ,
CONSTRAINT physician_FK_dept
FOREIGN KEY (Department_ID)
REFERENCES Department (Department_ID)
ON DELETE SET NULL
);
但是,当我尝试创建两个表之间的关联实体:
CREATE TABLE Visit (
Visit_ID CHAR(5) CONSTRAINT Visit_PK PRIMARY KEY,
Visit_date DATE NOT NULL,
Patient_ID VARCHAR2(20) NOT NULL,
Physician_ID VARCHAR2(20),
CONSTRAINT visit_FK_patient
FOREIGN KEY (Patient_ID)
REFERENCES Patient (Patient_ID)
ON DELETE SET CASCADE,
CONSTRAINT visit_FK_physician
FOREIGN KEY (Physician_ID)
REFERENCES Physician (Physician_ID)
ON DELETE SET NULL
);
它失败,因为一个错误的:
ORA-00908: missing NULL keyword"
通常这是一个简单的缺少NULL的问题。但是这一次,不管我怎么看SQL,它看起来都不是那个错误。任何人都可以帮助看看他们是否能从另一个角度找到问题所在?谢谢
+1我正准备回答同样的问题:) – Andomar 2013-03-19 18:48:32
非常感谢! :d – Ponnnnn 2013-03-30 05:21:15