我正在使用SQL Server2005。我想将一列中的值限制为唯一,同时允许NULLS。我当前的解决方案包括在这样的视图上的唯一索引:CREATE VIEW vw_unq WITH SCHEMABINDING AS SELECT Column1 FROM MyTable WHERE Column1 IS NOT NULLCREATE UNIQUE CLUSTERED INDEX unq_idx ON vw_unq (Column1)还有更好的主意吗?
3 回答
慕妹3242003
TA贡献1824条经验 获得超6个赞
计算得出的列技巧被广泛称为“无效破坏者”。我的笔记归功于史蒂夫·卡斯(Steve Kass):
CREATE TABLE dupNulls (
pk int identity(1,1) primary key,
X int NULL,
nullbuster as (case when X is null then pk else 0 end),
CONSTRAINT dupNulls_uqX UNIQUE (X,nullbuster)
)
- 3 回答
- 0 关注
- 576 浏览
添加回答
举报
0/150
提交
取消