【发布时间】:2011-06-23 05:03:33
【问题描述】:
我有一张像下面这样的表格
ID Value
----------
1 A
2 B
3 C
3 C
4 A
4 D
5 A
5 C
5 D
如果我尝试插入相同类型的值组合,我想要一个查询或存储过程来识别是否已经存在组合。 例如:如果我想插入
6 A
6 D
会让我知道已经存在与 id 4 相同的组合。 在 MSSQL 中可以吗?
几条评论:当我尝试插入新值时,Id 将是新的,因此我们无法在表中搜索具有 id、值组合的重复行。 我需要一种方法来搜索具有相同 id 值组合的重复值。
在上面的示例中,当我尝试插入时
6 A
6 D
如果上表中存在具有相同 ID 的 A 和 D 的值的任何行,它将去表中搜索,因此它应该让我知道当我有重复的条目时尝试插入它。
【问题讨论】:
-
可以,但在存储过程中使用位编码
-
你希望它如何让你知道?
-
可以是存储过程MSSQL2005
-
如果有人试图插入一对
(4, C)怎么办?这将使 ID 4 的组合与 ID 5 的组合相同。在您的项目中可以进行这样的插入吗?是否应该被拦截和报告? -
是的,在这种情况下,如插入 4 C 不应该允许,因为它会再次匹配 5- A C D 的组合。它也应该报告。
标签: sql sql-server tsql