如何使用合并条件执行此操作?

时间:2013-12-09 09:55:11

标签: sql tsql

我有一个源表和目标表 最初,我通过某些条件将一些数据加载到目标表中

Target.col1         = Source.col1
AND Target.col2         = Source.col2

MERGE INTO dbo.TestDestination AS Target
USING ( select col1,
col2,
col3,
col4
  from testsource ) AS Source
            ON      Target.col1         = Source.col1
                    AND Target.col2         = Source.col2


    WHEN MATCHED 
    THEN 
    UPDATE
        SET Target.col1 = Source.col1,
            Target.col2         = Source.col2,
            Target.col3         = Source.col3,
            Target.col4         = Source.col4


    WHEN NOT MATCHED 
    THEN 
    INSERT  
        (   [col1]
           ,[col2]
           ,[col3]
           ,[col4]
 )
       VALUES
       (Source.[col1]
       ,Source.[col2]
       ,Source.[col3]
       ,Source.[col4]);

但之后又增加了一些条件,比如

Target.col1             = Source.col1
AND Target.col2         = Source.col2
AND Target.col3         = Source.col3
AND Target.col4         = Source.col4

然后数据将被过滤。因此,根据条件,初始数据是错误的数据,因此我需要删除初始数据并加载具有这些条件的最新过滤数据。

0 个答案:

没有答案