Po pierwsze, w Oracle nie ma ON UPDATE RESTRICT
lub ON DELETE RESTRICT
opcja. Wygląda na to, że są one prawidłowe w innych silnikach baz danych, ale nie są obecne w diagram składni ograniczeń
i nie wydają się być prawidłowe. Istnieje ON DELETE
klauzula, ale jedynymi poprawnymi opcjami są CASCADE
lub SET NULL
. Nie ma ON UPDATE
klauzula.
Jeśli dodamy przecinek na końcu airplane_id
przed definicją zmienną i usuń dwie nieprawidłowe klauzule, Twój DDL powinien być ważny
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>>
);