【发布时间】:2015-03-06 12:44:27
【问题描述】:
我有一个表 - PROGRAM - 其中包括 PROGRAM_NAME 和 PROGRAM_NUMBER 列。
PROGRAM_NUMBER 已经是唯一的。
CREATE UNIQUE INDEX UNIQUE_PROG_NUMBER on PROGRAM(upper(PROGRAM_NUMBER));
还有一个约束来确保始终填充 PROGRAM_NAME 或 PROGRAM_NUMBER。
ALTER TABLE PROGRAM ADD CONSTRAINT NAME_OR_NUMBER_NOT_NULL
CHECK (PROGRAM_NAME IS NOT NULL OR PROGRAM_NUMBER IS NOT NULL) ENABLE;
现在要求确保, 如果 PROGRAM_NUMBER 为空,则 PROGRAM_NAME 必须是唯一的。
这可以在 CHECK 约束中强制执行吗?
【问题讨论】:
标签: database oracle constraints unique-constraint