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