У меня есть две родительские таблицы: Treatment
и Visit
.SQL. Как ссылаться на составной первичный ключ Oracle?
Лечение стол:
create table Treatment (
TreatCode CHAR(6) constraint cTreatCodeNN not null,
Name VARCHAR2(20),
constraint cTreatCodePK primary key (TreatCode),
);
Посещать стол:
create table Visit (
SlotNum NUMBER(2),
DateVisit DATE,
ActualArrivalTime DATE,
constraint cVisitSlotDatePK primary key (SlotNum, DateVisit)
);
Теперь я пытаюсь создать таблицу ребенок:
create table Visit_Treat (
TreatCode constraint cTreatCodeFK references Treatment(TreatCode),
SlotNum constraint cSlotNumFK references Visit(SlotNum),
DateVisit constraint cDateFK references Visit(DateVisit),
constraint cVisitTreatPK primary key (SlotNum, TreatCode, DateVisit)
);
Все выполняет отлично до 3 линии. Начиная с 3-й строки, то есть SlotNum constraint ...
, появляется сообщение: no matching unique or primary key
. Был уже similar question, но я не совсем понял логику в моем случае. Я ссылаюсь на каждый столбец один за другим, и он работает для родителя таблицы Treatment
. Как мне исправить ссылку Visit
table parent?
Это может быть или не быть решением, поскольку мы не знаем, что на самом деле правильно и что не так в коде, и в нем не рассматриваются какие (комбинации) деклараций должны использоваться в том, что обстоятельства. – philipxy