För det första, i Oracle finns det ingen ON UPDATE RESTRICT
eller ON DELETE RESTRICT
alternativ. De verkar vara giltiga i andra databasmotorer men de finns inte i begränsningssyntaxdiagram
och verkar inte vara giltiga. Det finns en ON DELETE
men de enda två giltiga alternativen är CASCADE
eller SET NULL
. Det finns ingen ON UPDATE
klausul.
Om vi lägger till ett kommatecken i slutet av airplane_id
definition före den stränga definitionen och ta bort de två ogiltiga satserna, bör din DDL vara giltig
CREATE TABLE Flight (
flight_no varchar2(10) NOT NULL,
airplane_id varchar2(20) NOT NULL,
CONSTRAINT flight_airplane_id_fk
FOREIGN KEY (airplane_id) REFERENCES Airplane (airplane_id),
dept_date date NOT NULL,
<<more columns>>
);