Oracle
 sql >> Base de données >  >> RDS >> Oracle

Problème de contrainte de clé étrangère dans Oracle

Tout d'abord, dans Oracle, il n'y a pas de ON UPDATE RESTRICT ou ON DELETE RESTRICT option. Ceux-ci semblent être valides dans d'autres moteurs de base de données mais ils ne sont pas présents dans le diagramme de syntaxe des contraintes et ne semblent pas valides. Il y a un ON DELETE clause mais les deux seules options valides sont CASCADE ou SET NULL . Il n'y a pas de ON UPDATE clause.

Si nous ajoutons une virgule à la fin du airplane_id définition avant la définition contraignante et supprimez les deux clauses invalides, votre DDL devrait être valide

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