读书人

能否创建一种特别的unique索引:带条件

发布时间: 2012-01-19 00:22:27 作者: rapoo

能否创建一种特别的unique索引:带条件
形如以下内容:
create unique index userName on employee(userName) where isValid=1

因为,isValid=0的记录属于做了删除标记的记录,很可能有多条,但需要确保isValid=1的记录没有重复的userName

我不太清楚能否对view创建索引,但我目前用的数据库很可能不支持view,所以希望不要通过view来实现。
如果有其他简单的方式能控制也行。

[解决办法]
建立索引没有条件之说,
索引是建立在哪一列或哪些列,而不是建立在那一行或哪些行

[解决办法]
这个问题其实挺典型的,我也一直希望所有的数据库都能实现这个功能。这个叫“部分索引”,只有几个数据库有这个功能,像postgrep,大部分数据库都没有的。楼主暂时只能换别的方法实现了,比如建另外一个表,只存有效的记录

读书人网 >SQL Server

热点推荐