唯一约束在Oracle中为一列提供空值

时间:2017-07-24 11:56:38

标签: oracle constraints ddl

我有以下表格结构

tbl_exam (Year,ExamCode,RollNo)

1)。表中的数据是:

(2017,1,NULL)
(2017,1,NULL)  
(2017,1,1)
(2017,1,2)

允许上述值

2)。

(2017,1,1)
(2017,1,1) **Not Allowed**

如何添加允许RollNo列空值的唯一约束

编辑:需要复合键约束

解决: 感谢 David Aldridge

create unique index exam_uidx on tbl_exam
(
Nvl2(RollNo, Year    , null),
Nvl2(RollNo, Exam_Code, null),
RollNo
)

1 个答案:

答案 0 :(得分:1)

我希望您可以通过在<:p>上放置一个唯一约束来实现此目的

.table-fixed{
  width: 100%;

}

.table-fixed tbody {
  height: 200px;
  overflow-y: auto;
  width: 100%
}

.table-fixed thead, .table-fixed tbody, .table-fixed tr, .table-fixed td, .table-fixed th {
  display: block;
}

.table-fixed tbody td, .table-fixed thead > tr > th {
  float: left;
  border-bottom-width: 0;
}

未经测试