【发布时间】:2023-04-10 11:38:01
【问题描述】:
我有一个有 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)
但它是检查是否存在任何一个约束,而不是检查唯一键约束的组合。
【问题讨论】:
-
@Naveen 我给了你所说的约束.. 但似乎约束只检查任何一个列名......我希望它就像一个新行不会被允许输入表中已经存在的所有三列值。
-
hai @nigelthomas 查看此链接stackoverflow.com/questions/1109614/…
标签: sql oracle constraints unique-constraint composite-key