【问题标题】:Unique key with conditional带条件的唯一键
【发布时间】:2015-10-06 11:30:03
【问题描述】:

我的表(account_master)在字段(party_code)上有唯一键,我还有另一个字段(close_date)。我想要带条件的唯一键,当 closed_date 为 null 时,party_code 可以取唯一值,当 closed_date 不为 null 时,字段 party_code 可以取重复值。例如

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

那么我如何应用这个唯一键来插入数据。

【问题讨论】:

  • 您所描述的不是唯一键。另外,听起来它属于业务逻辑而不是数据。
  • 不需要应用唯一键,但应该有任何约​​束可以在sql orcale中的表标签上完全填充此条件

标签: sql key conditional unique


【解决方案1】:

您可以使用唯一的过滤索引来解决这个问题。

如果是 SQL 2005 那么 您可以创建一个模式绑定视图(从 account_master 中选择 *,其中 closed_date 为空) 并在视图上创建唯一索引...

【讨论】:

    猜你喜欢
    • 2015-04-16
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 2016-01-01
    相关资源
    最近更新 更多