我有一个表access
,其模式是如下:允许是否可以将唯一约束与Check约束关联?
create table access (
access_id int primary key identity,
access_name varchar(50) not null,
access_time datetime2 not null default (getdate()),
access_type varchar(20) check (access_type in ('OUTER_PARTY','INNER_PARTY')),
access_message varchar(100) not null,
)
访问类型只OUTER_PARTY and INNER_PARTY
。
我想实现的是INNER_PARTY
条目应该每天只有一次登录(用户),但OUTER_PARTY
可以记录任意次数。所以我想知道是否可以直接做这件事,或者是否有成语来制造这种限制。
我已经检查过这个问题:Combining the UNIQUE and CHECK constraints,但无法将其应用于我的情况,因为它是针对不同的事情。
谢谢你的标签。我愚蠢地把它放在问题上。 在'access_type'上创建聚簇索引是否正确?另外,如果我创建一个视图,不可能更新基础表,是吗?如果我没有错,就不必使用触发器来更新视图,但这会使其变得复杂。 – Animesh 2012-03-22 11:10:14
@Damien_The_Unbeliever - (清理意见)同意。正如答案所示,不需要使用索引视图。 – 2012-03-22 11:37:25