sql >> Databáze >  >> RDS >> Oracle

Problém s omezením cizího klíče v Oracle

Za prvé, v Oracle neexistuje žádné ON UPDATE RESTRICT nebo ON DELETE RESTRICT volba. Zdá se, že jsou platné v jiných databázových strojích, ale nejsou přítomny v diagram syntaxe omezení a nezdají se být platné. Existuje ON DELETE klauzule, ale jediné dvě platné možnosti jsou CASCADE nebo SET NULL . Neexistuje žádné ON UPDATE doložka.

Pokud přidáme čárku na konec airplane_id definice před definicí omezení a odstraňte dvě neplatné klauzule, měl by být váš DDL platný

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


  1. sloupec neexistuje chyba ani při použití klíčového slova 'as'

  2. Metody zálohování AWS RDS

  3. vložit textové pole hodnoty do databáze mysql

  4. Závažná chyba:Volání nedefinované funkce session_register()