在表之间“同步”或复制

时间:2019-01-23 13:25:28

标签: sql synchronization between replicate

我有一个现有表“ dbo.Source Table”,我想制作另一个[me].[DestinationTable],在其中复制现有表“ dbo.Source Table”中的某些列。我使用Microsoft SQL Server Management Studio。

这就是我想要的,在表“ dbo.Source Tabel”中,我有一行,其中我在“ TextColumn”,“ ValueColumn”等列中有信息。首先,我想将这些信息复制到新表中{ {1}},但是当表“ dbo.Source Tabel”中的信息(例如列“ TextColumn”中的信息)从“ MDO”更改为“ Marius”时,将在表[me].[Destination Table]中自动更新,依此类推,当从dbo.SourceTable中删除一行时,要从me.DestinationTable中删除一行。

enter image description here

[me].[Destination Table]

1 个答案:

答案 0 :(得分:1)

我没有什么可以测试的,但是:

MERGE me.DestinationTable tgt
USING dbo.SourceTable src
 ON  src.SourcePrimaryKeyID = tgt.DestinationPrimaryKeyID
WHEN MATCHED THEN
  UPDATE SET
    tgt.TextColumn =   src.TextColumn, 
    tgt.ValueColumn =  src.ValueColumn,
    tgt.NumberColumn = src.NumberColumn
WHEN NOT MATCHED BY TARGET THEN INSERT VALUES (
  src.TextColumn, 
  src.ValueColumn,
  src.NumberColumn
);
GO