나는 다음과 같이 SQL Server 2008 R2의 3 개 테이블이있다. LSP에는 많은 SERVICE가있을 수 있습니다.다른 테이블의 열을 사용하여 고유 제한 조건을 추가하는 방법은 무엇입니까?</p> <p><img src="https://i.stack.imgur.com/IDFG4.gif" alt="DB Model"></p> <p>기업이 많은 LSP가 포함될 수 있습니다
그리고 SERVICE_CODE가 회사 내의 SERVICE 레코드를 고유하게 식별하는지 확인해야합니다. 즉, COMPANY_ID + SERVICE_CODE는 전체 시스템에서 SERVICE 레코드를 고유하게 식별해야합니다.
예 : COMPANY-A에는 동일한 SERVICE_CODE를 사용하는 2 개의 SERVICE_ID가있는 2 개의 서비스가 없을 수 있습니다. 그러나 COMPANY-A와 COMPANY-B는 둘 다 SERVICE_CODE = "PREMIUM"인 두 개의 별도 SERVICES (다시 SERVICE_ID가 다릅니다)를 가질 수 있습니다.
는이 같은 뭔가가 필요 :
alter table "SERVICE"
add constraint "SERVICE_Index01"
unique ("COMPANY_ID", "SERVICE_CODE")
그러나 COMPANY_ID 열이 서비스 테이블에 있지 않기 때문에 (분명히)이 실패합니다.
미리 도움을 청하십시오.
Service_Code가 고유합니까? 처음에는 Service_ID가 자연어 Service_Code의 대용 키라고 생각했습니다. 그러나 두 회사가 서비스 코드가 '프리미엄'인 다른 서비스 ID를 가질 수 있다면 그렇지 않다는 것을 의미합니다. – 8kb