gpt4 book ai didi

sql-server - 如何强制执行包含多个表的唯一性规则?

转载 作者:行者123 更新时间:2023-12-04 06:26:10 26 4
gpt4 key购买 nike

例如,有这些表:

Companies (CompanyID)
Workers (WorkerID, CompanyID)
Users (WorkerID, Username)

定义了正确的关系后,我如何强制执行 的预测用户的用户名在其员工所在的公司中是唯一的 ?

最佳答案

您可以为此使用索引 View

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需要打开以修改索引 View 的基表的选项,但如果您使用的是 SQL Server 2005+,默认情况下这些选项是打开的。

关于sql-server - 如何强制执行包含多个表的唯一性规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6020190/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com