假設有兩個表:Remote_table
和My_table
。從數據表複製新記錄並識別舊記錄中的更改
Remote_table
有6列:
PROJECT JOB_TYPE MONTH YEAR** HOURS IS_DELETED
134393 70 1 2013 30 0
134393 70 2 2013 50 0
134393 70 3 2013 80 0
134393 70 10 2012 10 0
134393 70 11 2012 0 0
134393 70 12 2012 15 0
My_table
是remote_table
副本。
我試圖通過這個查詢只複製從remote_table
新記錄:
SELECT *
FROM [remote_DB].[LudanProjectManager].[dbo].Remote_table
EXCEPT
SELECT *
FROM My_table
它的工作原理確定的,但我得到一個重複的主鍵異常修改時已對remote_table
在小時柱提出。
任何人都可以想辦法從remote_table
只複製新記錄,如果已更改舊記錄,識別它們並更新my_table
以符合?
您可以嘗試的Upsert或合併聲明。 –
也許你應該使用'存在'而不是EXCEPT。 EXCEPT命令比較所有列,這就是爲什麼當小時數列中有更新時會得到重複密鑰。 – Romo