2011-05-16 65 views

回答

3

您可以使用索引視圖此

CREATE VIEW dbo.EnforceConstraint 
WITH SCHEMABINDING 
AS 
SELECT CompanyID, Username 
FROM dbo.Users u 
    JOIN dbo.Workers w ON w.WorkerID = u.WorkerID 

GO 

CREATE UNIQUE CLUSTERED INDEX ix ON dbo.EnforceConstraint(CompanyID, Username) 

有跡象表明,必須對索引視圖的基表的修改一定SET選項,但如果你的SQL Server 2005+上這些默認是打開的。

+0

+1打我給它。 – 2011-05-16 16:18:44

+0

完美,這是做到了。 – 2011-05-16 17:12:10

0

你不能直接,但你有幾個選擇:

  1. 進行非標準化的用戶表位,並添加CompanyID它。

  2. 使用插入/更新觸發器進行驗證。

0

您也可以考慮:

enter image description here

,並確保WorkerNo是公司內唯一:

alter table Workers 
add constraint un_co_wrk unique (CompanyID, WorkerNo) ; 
相關問題