admin

如何对Oracle中的列组合赋予唯一约束?

sql

我有一个带有4列的表格

每列将是A,B,C,D

列A是主键。列B具有唯一的名称约束。

现在,我想删除列B的唯一约束,并通过组合列B,C和D给出唯一约束。因此,该表将只允许一行包含列B,C和D中的特定值。

如何给这种约束?

我尝试给复合唯一密钥,例如:

ALTER TABLE TABLENAME ADD CONSTRAINT CONSTRAINT_NAME UNIQUE (COLUMN_B, COLUMN_C, COLUMN_D)

但这是在检查是否存在任何约束,而不是在检查唯一键约束的组合。


阅读 172

收藏
2021-05-10

共1个答案

admin

在这些列上创建唯一键

ALTER TABLE YourTable
  add CONSTRAINT YourTable_unique UNIQUE (B, C, D);

Oracle / PLSQL:唯一约束

2021-05-10