нет соответствующего уникального или первичного ключа для этого списка столбцов. Я не уверен, как решить эту проблему в моем случае - PullRequest
1 голос
/ 09 мая 2020

Я пытался создать эту таблицу в своей базе данных. Нам сказали использовать Oracle -Apex для создания базы данных. Поэтому я продолжаю получать эту ошибку, которую не могу решить:

this error

Если я удалю последнюю строку кода, таблица будет создана без ошибок. Вот скриншоты других таблиц, на которые здесь есть ссылки:

Таблица компаний

Company Table

Таблица ветвей

Branch Table

IDK, если это ладья ошибка ie, я выучил апекс / sql примерно за час и пошел делать базу данных. Спасибо за помощь мне! :)

1 Ответ

0 голосов
/ 09 мая 2020

Столбцы, на которые ссылается внешний ключ, должны иметь уникальный индекс в исходной таблице (или они должны быть первичным ключом этой таблицы). Ваш код не работает из-за следующего объявления внешнего ключа, где цель не уникальна:

foreign key (BranchNo) references Branch(BranchNo)

Здесь, я думаю, вам нужен составной внешний ключ, который ссылается на первичный ключ Branch, а не на два разные ключи. Branch(CCode) уже ссылается на Company(CCode), поэтому нет необходимости помещать эту связь в таблицу Equipment.

create table Equipment(
    CCode int,
    BranchNo int,
    EquipNo it,
    Description varchar2(50),
    NumberOfEquip int,
    primary key(CCode, BranchNo, EquipNo),
    foreign key (CCode, BranchNo) references Branch(CCode, BranchNo)
);
...