我在名爲CENSUS
(列:APN, ATTRIB_VALUE, ATTNAME
)的表數據需要被轉移到一個命名爲PARCEL_ATTR
(列:L1_PARCEL_NBR, L1_ATTRIB_VALUE, L1_ATTRIB_NAME
)表。轉移記錄,沒有重複
PARCEL_ATTR
的主鍵是兩列L1_PARCEL_NBR
和L1_ATTRIB_NAME
。
我曾嘗試使用下面的SQL語句從CENSUS
記錄插入到PARCEL_ATTR
沒有成功:
INSERT INTO dbo.PARCEL_ATTR (L1_PARCEL_NBR, L1_ATTRIB_VALUE, L1_ATTRIB_NAME)
SELECT
APN, ATTRIB_VALUE, ATTNAME
FROM
dbo.CENSUS
WHERE
NOT EXISTS (SELECT 1
FROM PARCEL_ATTR
WHERE CENSUS.APN = PARCEL_ATTR.L1_PARCEL_NBR
AND CENSUS.ATTNAME = PARCEL_ATTR.L1_ATTRIB_NAME);
我得到的SQL Server每次2008 R2此錯誤:
違反PRIMARY KEY約束'PKparcel_attr'。無法在對象'dbo.Parcel_Attr'中插入重複鍵。重複鍵值是(002-001-021,人口普查)。
任何人都可以幫我理解我做錯了什麼嗎?