予約テーブルに制約を追加しようとしていますが、予約はフライトまたは宿泊施設、あるいはその両方にすることができます。Oracleの親キーが見つかりません
- 第4のレコードは4つのレコードが故にでは、唯一のフライトを予約し、宿泊施設だけ予約した2つのレコードを後
NULL
- から
acc_id
セットを持って飛行、往路便と宿泊 - 次内側に計上しますフライト、アウトフライト、および席はヌルに設定されています。ここで
ALTER TABLE HOLIDAY_RESERVATION ADD CONSTRAINT HOLIDAY_PK PRIMARY KEY (RESV_ID);
ALTER TABLE HOLIDAY_RESERVATION ADD CONSTRAINT CUSTOMER_FK FOREIGN KEY (BOOKING_CUS_ID) REFERENCES CUSTOMER (CUS_ID);
ALTER TABLE HOLIDAY_RESERVATION ADD CONSTRAINT STAFF_FK3 FOREIGN KEY (EMP_ID) REFERENCES STAFF (EMP_ID);
ALTER TABLE HOLIDAY_RESERVATION ADD CONSTRAINT FLIGHT_FK FOREIGN KEY (IN_FLIGHT_ID) REFERENCES FLIGHT (FLI_ID);
ALTER TABLE HOLIDAY_RESERVATION ADD CONSTRAINT FLIGHT_FK1 FOREIGN KEY (OUT_FLIGHT_ID) REFERENCES FLIGHT (FLI_ID);
ALTER TABLE HOLIDAY_RESERVATION ADD CONSTRAINT ACC_FK FOREIGN KEY (ACC_ID) REFERENCES ACCOMMODATION (ACC_ID);
このテーブルのための私の制約であり、誤差を生じる場合にのみ制約があります。
ALTER TABLE HOLIDAY_RESERVATION ADD CONSTRAINT FLIGHT_FK1 FOREIGN KEY (OUT_FLIGHT_ID) REFERENCES FLIGHT (FLI_ID);
私が問題のようです
ERROR at line 1:
ORA-02298: cannot validate (U1146815.FLIGHT_FK1) - parent keys not found
何を得ますか?
あなたのスクリーンショットによると、OUT_FLIGHT_IDにはいくつかのデータ(NULLだけでなく)が含まれていますか?これらのOUT_FLIGHT_IDはすべてFLIGHTテーブルのFLI_IDですか? –
ポインタのおかげで、私はレコードの残りの半分を挿入するのを忘れました:) –