Sql 具有条件的唯一键

Sql 具有条件的唯一键,sql,key,conditional,unique,Sql,Key,Conditional,Unique,我的tableaccount\u master在字段party\u代码上具有唯一键,我还有另一个字段closed\u date。我需要带条件的唯一键,当关闭日期为空时,参与方代码可以取唯一值,当关闭日期不为空时,字段参与方代码可以取重复值。例如 party_code closed_date 1 null 2 31-08-2015 2 null 3 null 4

我的tableaccount\u master在字段party\u代码上具有唯一键,我还有另一个字段closed\u date。我需要带条件的唯一键,当关闭日期为空时,参与方代码可以取唯一值,当关闭日期不为空时,字段参与方代码可以取重复值。例如

party_code   closed_date
 1               null
 2            31-08-2015
 2               null
 3               null
 4               null

因此,如何应用此唯一键来插入数据。

您可以使用唯一的筛选索引来解决此问题

如果是SQL 2005,那么 您可以创建一个绑定到架构的视图,从帐户主控中选择*,其中关闭日期为空
并在视图上创建一个唯一索引…

您描述的内容不是唯一键。此外,听起来它属于业务逻辑,但不属于数据。不需要应用唯一键,但应该有任何约束可以完全满足sql或CALE中表标签上的此条件