Я создал таблицу 1 с составными ключами (столбец 1, столбец 2, столбец 3).
CONSTRAINT table_PK PRIMARY KEY (column1,column2,column3)
Таблица 2 имеет составной ключ (столбец 1, столбец 4).
CONSTRAINT table2_FK FOREIGN KEY (column1)
REFERENCES table1 (column1)
CONSTRAINT table2_column4_FK FOREIGN KEY (column4)
REFERENCES table3 (column4)
Однако я не могу соединить таблицу 2 с таблицей 1. Между двумя таблицами единственным столбцом ссылки должен быть только столбец1.
Однако я получаю сообщение об ошибке:
SQL Error: ORA-02270: no matching unique or primary key for this column-list
02270. 00000 - "no matching unique or primary key for this column-list"
*Cause: A REFERENCES clause in a CREATE/ALTER TABLE statement
gives a column-list for which there is no matching unique or primary
key constraint in the referenced table.
*Action: Find the correct column names using the ALL_CONS_COLUMNS
catalog view
Я попытался проверить ограничение, и все кажется правильным.
Когда я попытался использовать интерфейс для создания таблицы, это тоже не сработало.
The number of FK columns (2) does not equal to the number of referenced columns (3)
Из того, что я вижу, они требуют, чтобы у меня было равное количество столбцов, чтобы иметь ссылку на другую таблицу. Однако я не думаю, что это необходимо. Это должно требовать только 1 столбца, верно? Пожалуйста, поправьте меня, если я ошибаюсь.