-1

以下のように2つのテーブルがあります

CREATE TABLE "CLIENT" 
("ID" NUMBER(*,0) NOT NULL ENABLE, 
"FIRSTNAME" VARCHAR2(255 CHAR), 
"LASTNAME" VARCHAR2(255 CHAR), 
"TELEPHONE" VARCHAR2(255 CHAR), 
CONSTRAINT "CLIENT_PK" PRIMARY KEY ("ID"))

CREATE TABLE "BCR"."RESERVATION" 
("ID" NUMBER(*,0) NOT NULL ENABLE, 
"MYDATE" DATE,  
"USERS_ID" NUMBER(*,0) NOT NULL ENABLE, 
"CLIENT_ID" NUMBER(*,0), 
CONSTRAINT "RESERVATION_PK" PRIMARY KEY ("ID"),
CONSTRAINT "RESERVATION_USER_FK" FOREIGN KEY ("USERS_ID")
REFERENCES "USERS" ("ID"))

このコードを使用してテーブルを変更する必要があります (ON DELETE CASCADE を追加したい)

ALTER TABLE "RESERVATION"
ADD CONSTRAINT "RESERVATION_CLIENT_FK" 
FOREIGN KEY ("CLIENT_ID")
REFERENCES "CLIENT" CONSTRAINT "CLIENT_PK" PRIMARY KEY ("ID")
ON DELETE CASCADE;

ただし、このエラーが発生する

SQL Error: ORA-01735: invalid ALTER TABLE option

何か案は?

4

1 に答える 1

2

このコードを試してください

ALTER TABLE "RESERVATION"
ADD CONSTRAINT "RESERVATION_CLIENT_FK" 
FOREIGN KEY ("CLIENT_ID")
REFERENCES "CLIENT" ("ID")
ON DELETE CASCADE;

参照用の制約に関するOracleのドキュメントへのリンクは次のとおりです

于 2013-05-22T13:31:31.713 に答える