如果數據當前不存在,我試圖將表A中的數據添加到表B中。當我將它作爲select語句運行時,一切都看起來正確。當我添加插入語句時,出現錯誤「無法在對象'dbo.inonhd'中插入具有唯一索引'PARTLOCA'的重複鍵行」。我寫的代碼應該防止重複。有人能指出我做錯了什麼嗎?當從SQL Server中的表B中缺少數據時將表A中的數據添加到表B中時,獲取重複鍵錯誤
insert into inonhd
(fpartno
,fpartrev
,fbinno
,flocation
,fonhand
,fac
,fcudrev)
SELECT INMAST.fpartno
,INMAST.frev
,inmast.fbin1
,inmast.flocate1
,inmast.fonhand
,inmast.fac
,inmast.frev
FROM INMAST
LEFT JOIN INONHD
ON INMAST.FPARTNO + INMAST.FREV = INONHD.FPARTNO + INONHD.FPARTREV
where INMAST.fpartno like 'gs-%'
and inmast.fonhand = '0'
and inonhd.fpartno is null
看起來像INMAST中的一列必須與兩列INONHD或相反。所有列上唯一索引PARTLOCA被定義的列。我們可以幫助您找到造成這種情況的行。 – user3851404 2014-09-26 16:03:08