В приведенных ниже таблицах уже успешно реализованы:Создание ассоциативной таблицы сущностей
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
Спасибо вам большое! : D – Ponnnnn