2
本主題與Copy missing rows from one table to another in sql server with stored procedure有關,但是現在問題稍微複雜一些。使用多列主鍵將缺少的行從一個表複製到另一個表
我必須在不同的數據庫(在同一臺服務器上)是相同的表。我需要將左數據庫表中的數據行傳輸到正確的數據庫表,但我只想傳輸不在正確的數據庫表中的行。
我的表有四個主鍵,看到圖像
我想用這樣的
insert into [EXTERN_EPI6R2].[dbo].[tblBigTableReference]
select * from [EXTERN].[dbo].[tblBigTableReference]
where (
pkId not in (select pkId
from [EXTERN_EPI6R2].[dbo].[tblBigTableReference])
and PropertyName not in (select PropertyName
from [EXTERN_EPI6R2].[dbo].[tblBigTableReference])
and IsKey not in (select IsKey
from [EXTERN_EPI6R2].[dbo].[tblBigTableReference])
and [Index] not in (select [Index]
from [EXTERN_EPI6R2].[dbo].[tblBigTableReference])
)
但是,這不會工作,因爲條件的堆疊是某種程度上是錯誤的。使用SQL Server 2008 R2