合并更新违反英国

时间:2018-02-24 18:47:45

标签: sql sql-server merge unique-key

我看过很多帖子,但没有一个人解释我的问题。对不起,如果我错过了其他地方。

我有一个合并声明表格是:

table1 (field1, field2, field3)

和:

table2 (PK, fieldA, fieldB, fieldC, fieldD) Unique Key = (FieldA, FieldB, FieldD)

合并声明是这样的:

merge into table2 WITH (HOLDLOCK) as T2
using (select * from table1) as T1
on field1 = fieldA and field3 = fieldC
when matched then update set
fieldB = field2

有问题的记录是:

table1

1, 2, 3

4, 5, 6

table2

0, 1, 2, 3, null

1, 7, 8, 9, null

我得到的错误是因为英国而无法插入重复记录。重复值为(1,2,null)

所以我只是更新一个字段到底是什么,但我得到一个英国约束错误。是什么给了什么?

0 个答案:

没有答案