我的RelationshipCodeLookup表使用AgentTransmission表的主键字段作为外键。RelationshipCodeLookup表中只有5条记录具有相同的AgentTransmission主键。
是否可以在RelationshipCodeLookup上创建一个组合键,其中包括来自AgentTransmission的外键和一个仅能达到5的单独的int字段?例如,一个代理的完整记录组是:
FK CK
132 1
132 2
132 3
132 4
132 5如果尝试使用FK of 132添加另一条记录,则会违反表上的某种约束,而无法添加该记录。
这个是可能的吗?
发布于 2013-11-14 17:34:33
如果我正确地理解了您的问题,我认为CK列上的一个简单的检查约束可以满足您的需要。Check约束要求CK列中的值在指定的范围内(1到5 )。
CREATE TABLE RelationshipCodeLookup(
FK INT NOT NULL,
CK INT NOT NULL,
CONSTRAINT PK_RelationshipCodeLookup PRIMARY KEY CLUSTERED ( FK, CK )
);
ALTER TABLE RelationshipCodeLookup WITH CHECK ADD CONSTRAINT CK_RelationshipCodeLookup CHECK (CK>=1 AND CK<=5);
ALTER TABLE RelationshipCodeLookup CHECK CONSTRAINT CK_RelationshipCodeLookup;https://stackoverflow.com/questions/19983911
复制相似问题