Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Problema de restrição de chave estrangeira no Oracle


Primeiro, no Oracle, não há ON UPDATE RESTRICT ou ON DELETE RESTRICT opção. Eles parecem ser válidos em outros mecanismos de banco de dados, mas não estão presentes no diagrama de sintaxe de restrição e não parecem ser válidas. Existe um ON DELETE mas as duas únicas opções válidas são CASCADE ou SET NULL . Não há ON UPDATE cláusula.

Se adicionarmos uma vírgula no final do airplane_id definição antes da definição da restrição e remova as duas cláusulas inválidas, seu DDL deve ser válido
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>>
);