1
それに応じてInsertTableからすべてのデータを挿入または更新して、TargetTableにプッシュしたいとします。 SourceTableに存在しない場合でも、TargetTableから削除するエントリは必要ありません。TSQL - SourceTableからTargetTableへの値の挿入または更新(削除不要)
これはこれまで私が行ってきたことです。 MERGEコマンドはこれに最も適した方法ですか?私はいくつかの例を見てきましたが、これについてどうやって行くかについてはあまりよく分かりません。
現在のソリューションでは、テーブル全体が切り捨てられ、データが挿入されます。私は以来、TargetTableに以前存在していた値のPK値を保持する必要があることを認識しました。 TargetTableのPublicRefId列にAssociatedRefIdが存在するかどうかによって、これをINSERTまたは更新に変更するにはどうすればよいですか?
-- Truncate lancrm01sql's Baseline Official table
TRUNCATE TABLE [TargetTable]
-- Populate table
INSERT INTO [TargetTable]
(PublicRefId
,FamilyName
,GivenName
)
SELECT
AssociatedRefId
, lastname
, firstname
FROM
#TempSourceTable