У меня есть 3 таблицы в SQL Server 2008 R2, которые похожи на них:Как добавить уникальное ограничение, используя столбец из другой таблицы?
Компания может иметь множество LSP. У LSP может быть много СЕРВИСОВ.
И я должен убедиться, что SERVICE_CODE однозначно идентифицирует запись SERVICE в рамках КОМПАНИИ. Другими словами, COMPANY_ID + SERVICE_CODE должен однозначно идентифицировать запись SERVICE во всей системе.
Например: КОМПАНИЯ-А НЕ МОЖЕТ иметь 2 услуги (с двумя разными идентификаторами SERVICE_ID) с тем же SERVICE_CODE. Но у КОМПАНИЙ-А и КОМПАНИИ-B могут быть два отдельных СЛУЖБА (опять же, с разными идентификаторами SERVICE_ID) с SERVICE_CODE = "PREMIUM".
мне нужно что-то вроде этого:
alter table "SERVICE"
add constraint "SERVICE_Index01"
unique ("COMPANY_ID", "SERVICE_CODE")
Но (очевидно) это не удается, так как столбец company_id не в таблице услуг.
Заранее благодарим за любую помощь.
Является ли Service_Code уникальным? Сначала я думал, что Service_ID является суррогатным ключом для естественного ключа Service_Code. Но если две компании могут иметь разные идентификаторы службы с кодом обслуживания «Премиум», это предполагает иное. – 8kb