Я пытаюсь создать таблицу, которая использует составной ключ в качестве основного ключа. У меня возникли проблемы с назначением второго значения в составном ключе, так как это внешний ключ в другой таблице. Вот пример.Компонентный ключ, который включает в себя внешний ключ
create table Table1
(Table1ID NVARCHAR(8) NOT NULL,
...
PRIMARY KEY (Table1ID));
create table Table2
(Table2ID NVARCHAR2(8) NOT NULL,
...
CONSTRAINT Table2ID_Table1ID_PK PRIMARY KEY (Table2ID, Table1ID)); <---- Here
Во второй таблице я пытаюсь включить первичный ключ в первичный ключ из таблицы1. Нужно ли включать что-то вроде REFERENCES Table1(Table1ID));
?
Кроме того, что было бы правильным способом вставить данные в таблицу2 для составного ключа? insert into Table2 values ('101, 1001', ....);
?
Cheers.
Поле должно быть в таблице до того, как любое ограничение на столе может включить его! –
Я вижу, так что невозможно наследовать сущность из другой таблицы для использования для составного ключа? – P3rry
Вы должны включить свой rdbms 'Sql Server',' Oracle' и т. Д. Покажите нам, что вы попробовали и какая у вас ошибка. Потому что на первый взгляд выглядят нормально. Пожалуйста, прочитайте [Как спросить] (http://stackoverflow.com/help/how-to-ask) –