我想向服务器 2005 的表添加检查约束
,但无法解决。
MemberId ClubId MeetingId
1 100 10
2 100 10
3 100 10
7 101 10 <-This would throw a check constraint
1 100 11
2 100 11
我不想为一个 MeetingId
拥有多个 ClubId
基本上,ClubId
只能属于一个 MeetingId
,但可以分配多个成员。
如何实现这一目标?
最佳答案
在检查约束中使用函数是一种选择,但您可以创建 INDEXED VIEW实现相同的限制。
CREATE VIEW VIEW_UNIQUE_MEETINGID WITH SCHEMABINDING AS
SELECT ClubID
, MeetingID
, COUNT_BIG(*)
FROM YourTable
GROUP BY
ClubID
, MeetingID
GO
CREATE UNIQUE CLUSTERED INDEX UIX_VIEW_UNIQUE_MEETINGID ON VIEW_UNIQUE_CLUBID (MeetingID)
关于sql - 检查两列的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4593111/