我可以设置一个(逻辑)PRIMARY KEY 约束,由(物理)NONCLUSTERED INDEX 提供服务,以便它只检查相关表中受约束和索引列或另一列的某些值?
并且,如果是这样,该列是否可以建立为从其他表引用的 FOREIGN KEY 约束?
我试图基本上看看我是否可以从父表中删除某些行而不从子表中删除这些行,但仍然强制执行关系,例如:
IDs > 1000, 或者 CreatedDateTime > RemovalDate.例如,你可以有这样的约束:
ALTER TABLE MyTable WITH NOCHECK ADD
CONSTRAINT PK_MyTable CHECK (Id > 1000)
Run Code Online (Sandbox Code Playgroud)
但是您将如何将此列设置为用 NONCLUSTERED INDEX 固定的 PRIMARY KEY 呢?
我可以做类似以下定义的事情吗:
ALTER TABLE MyTable WITH NOCHECK ADD
CONSTRAINT PK_MyTable CHECK (CreatedOn > '01/01/2010')
Run Code Online (Sandbox Code Playgroud)
但是对于名为Id?的列有一个 INDEX
sql-server-2008 database-design sql-server nonclustered-index check-constraints
sql-server ×1