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
);

しかし、2 つのテーブル間に関連エンティティを作成しようとすると、次のようになります。

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: NULL キーワードがありません"

通常は、NULL がないという単純な問題です。しかし今回は、どう見てもそれがエラーのようには見えません。問題が何であるかを別の観点から見つけることができるかどうかを確認するのを手伝ってくれる人はいますか? ありがとうございました

4

1 に答える 1

3

私はあなたがどこにいると思います

ON DELETE SET CASCADE

これは

ON DELETE CASCADE

これを参照

于 2013-03-19T18:47:50.150 に答える