Я пытаюсь добавить первичный и внешний ключ во вложенную таблицу, пытаясь понять, как это сделать.
Это то, что у меня есть;
create or replace type profile as object
(
id VARCHAR2(10), --- Suppose to be Primary Key
userID VARCHAR2(10) --- Suppose to be Foreign Key for user table
);
create or replace type profile_nest as table of profile;
CREATE OR REPLACE TYPE user_t UNDER group_T
(profile profile_nest_ty,);
CREATE TABLE user OF user_t
(id NOT NULL,
PRIMARY KEY (id),
nested table profile store as profile_storage_tbl;
Теперь проблема в этой части, пытающейся сделать внешний ключ -
alter table profile_storage_tbl add CONSTRAINT fk_userID FOREIGN KEY (userID)
REFERENCES user(id);
выдает эту ошибку -
* Ошибка запуска в строке 3 в команде:
изменить таблицу profile_storage_tbl добавить CONSTRAINT fk_userID FOREIGN KEY (userID)
Ссылки пользователя (id)
Отчет об ошибке:
Ошибка SQL: ORA-30730: ссылочное ограничение не разрешено для столбца вложенной таблицы
30730. 00000 - «Ссылочное ограничение не разрешено для столбца вложенной таблицы»
* Причина: была сделана попытка определить ссылочное ограничение для вложенного
столбец таблицы.
Действие: не указывать ссылочные ограничения для столбцов вложенной таблицы.