Мне не удалось полностью понять ваш вопрос, но возможно иметь несколько ссылок между двумя таблицами.Например:
create table store (
storeid number(6) primary key not null,
name varchar2(20) not null,
last_productid number(6) not null -- not yet a FK, but later it is.
);
create table product (
productid number(6) primary key not null,
name varchar2(50) not null,
storeid number(6) not null,
constraint fk1 foreign key (storeid) references store (storeid)
);
alter table store add
constraint fk2 foreign key (last_productid) references product (productid);
Столбец last_productid
, который вы хотите добавить (хотите?), Немного сложнее.У вас есть два варианта:
Это не обнуляется.Это происходит, когда вы хотите, чтобы каждый магазин ВСЕГДА имел last_productid.Вам нужно будет указать это DEFERRABLE
, чтобы можно было вставить магазин и первый товар.
Это допускает обнуление.Тогда некоторые магазины будут указывать на товар, а другие - нет.Это простой случай, так как вы можете легко вставить / обновить таблицу store
.