我在SQL Server 2008 R2中3個表,看起來像這些:如何使用另一個表中的列添加唯一約束?
一個公司可能有很多的LSP。一個LSP可能有許多服務。
我需要確保SERVICE_CODE唯一標識公司內的SERVICE記錄。換句話說,COMPANY_ID + SERVICE_CODE應該唯一標識整個系統中的一個SERVICE記錄。
例如:COMPANY-A可能不具有2個具有相同SERVICE_CODE的服務(具有2個不同的SERVICE_ID)。但是,COMPANY-A和COMPANY-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