Есть ли в любом случае сделать ссылку УНИКАЛЬНОЙ - PullRequest
2 голосов
/ 05 марта 2012

Я пытаюсь вставить ссылку из одной таблицы в другую, но мне нужно, чтобы ссылка была УНИКАЛЬНОЙ. Поскольку данные могут появиться только один раз в этой таблице.

CREATE TABLE 1 ( id NUMBER, obj1 REF obj1_typ REFERENCES obj1_tab UNIQUE, obj2 REF obj2_typ REFERENCES obj2_objtab UNIQUE);

1 Ответ

3 голосов
/ 05 марта 2012

Внешний ключ может быть объявлен следующим образом:

CREATE TABLE products
(   product_id  numeric(10) not null,
supplier_id numeric(10) not null,
CONSTRAINT fk_supplier
  FOREIGN KEY (supplier_id)
  REFERENCES supplier(supplier_id)
);

, где supplier_id - это первичный ключ в своей таблице:

CREATE TABLE supplier
(   supplier_id numeric(10) not null,
supplier_name   varchar2(50)    not null,
contact_name    varchar2(50),   
CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)
);

Если вы хотите убедиться, что obj1 уникален вВ таблице ОДИН, вы можете создать уникальный ключ для этого столбца или просто создать уникальный индекс:

create unique index uk_obj1 on one(obj1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...