У меня есть таблица с именем Order
.Он имеет FK для таблицы с именем OrderSource
, которая имеет неуникальный идентификатор в SourceId.Order
также имеет FK для таблицы с именем OrderType
(каталог того, что можно заказать).У него есть PK OrderTypeId.
Затем у меня есть другая таблица (Order_OrderSource
), которая ограничивает виды SourceIds, которые я могу иметь для данного OrderTypeId.(Он содержит строки OrderTypeId, SourceId и ClassId (еще один Id, который используется для группировки определенного источника и OrderTypes вместе).
Я хотел бы, чтобы база данных обеспечивала, чтобы у Order не было OrderSource.SourceIdесли его OrderTypeId не совпадает в таблице Order_OrderSource
.
Это своего рода ассоциативный шаблон таблицы, но он не работает, поскольку SourceId не является PK OrderSource.
В любом случаеЯ могу заставить SQL Server применять это ограничение?