我有一个现有表“ 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中删除一行。
[me].[Destination Table]
答案 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