【发布时间】:2015-03-04 04:55:21
【问题描述】:
考虑以下场景 假设一个数据库表中有三个字段
------------------------------------------
PrmiaryKey | Column A | Column B
-----------------------------------------
我需要强制要求 B 列中的值应该具有 A 列的唯一值
例子
Col B Col A
12 13 (OK)
14 15 (OK)
15 16 (OK)
12 13 (OK)
15 16 (OK)
14 17 (not OK)
由于值 14 以前在 B 列下具有值 15。因此它的值不应与 15 不同。我需要从数据库端强制执行此行为。是否有一个特殊的约束我需要解决这个问题
提前致谢。
【问题讨论】:
-
您可以使用触发器,使用Insert触发器检查A列中插入的值是否满足您的要求,然后继续执行。
标签: sql sql-server database concurrentmodification mssql-jdbc