我看过很多帖子,但没有一个人解释我的问题。对不起,如果我错过了其他地方。
我有一个合并声明表格是:
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)
所以我只是更新一个字段到底是什么,但我得到一个英国约束错误。是什么给了什么?