Внешний ключ между объединенными таблицами в SQL Azure

У меня проблема..

Мне нужно определить внешние ключи между объединенными таблицами, и я не могу это сделать.. У меня есть две таблицы...

CREATE TABLE Tarifa(
[cp_id] [int] NOT NULL,
[id] [uniqueidentifier] NOT NULL,
[nombre] [varchar](200) NOT NULL,
[comision] [decimal](18, 2) NULL,
[markUp] [decimal](18, 2) NULL,
PRIMARY KEY (id,cp_id)
) FEDERATED ON (cp_id=cp_id)


CREATE TABLE Periodo(
[cp_id] [int] NOT NULL,
[id] [uniqueidentifier] NOT NULL,
[tarId] [int] NOT NULL,
[precio] [decimal](18, 2) NULL,
PRIMARY KEY (id,cp_id)
) FEDERATED ON (cp_id=cp_id)

Я хочу сослаться на поле tarId в Periodo на Tarifa. Является ли это возможным?

1 ответ

Вы можете ссылаться на объединенную таблицу с некоторыми ограничениями.

Из Руководства Федерации и Ограничений:

Все ограничения внешнего ключа для объединяемых таблиц должны включать столбец объединения в ссылочной и ссылочной таблицах в один и тот же порядковый номер во внешнем ключе. Справочные таблицы не могут иметь отношения внешнего ключа с объединенными таблицами. Объединенные таблицы могут иметь отношения внешнего ключа со ссылочными таблицами без ограничений.

В вашем случае вы должны включить объединенную колонку в обе таблицы.

Другие вопросы по тегам