Aim*_*Kai 12 sql-server-2005 sql-server constraint
在我正在进行的这个项目中,我需要将特定字段设置为唯一(不是问题!)但如果该字段为空,我希望忽略约束。在 Sql Server 2008 中,我使用如下所示的过滤索引,但这在早期版本的 SQL 中不可用!
CREATE UNIQUE NONCLUSTERED INDEX User_UserName_IUC
ON [User] (pinNr)
WHERE UserName IS NOT NULL
Run Code Online (Sandbox Code Playgroud)
但我不认为这在 SQL Server 2005 中可用。事实上,这篇博客文章表明有一种使用触发器来检查唯一性的解决方法。有没有人有这样的例子?或者也许是另一种选择?
不幸的是,升级到 SQL Server 2008 不是这个特定客户端的选项!!
您可以创建一个视图(其中用户名不为空),然后针对该视图放置一个唯一索引。你永远不需要使用视图,它只是为了这个而存在。
您还可以使用此技术来强制跨多个表的唯一性,而这通常是不可能的。
| 归档时间: |
|
| 查看次数: |
2223 次 |
| 最近记录: |