Sql Server 2008 以前では、Merge ステートメントを使用して 2 つのテーブルを同期する必要があります。
次のサンプルを見てください: 実行後、両方のテーブル (@sourceTable と @targetTable) に同一の行があります。
DECLARE @sourceTable TABLE(id INT PRIMARY KEY, somefield VARCHAR(255))
DECLARE @targetTable TABLE(id INT PRIMARY KEY, somefield VARCHAR(255))
INSERT INTO @sourceTable (id, somefield) VALUES(1, 'SourceValue1'),
(3, 'SourceValue3')
INSERT INTO @targetTable (id, somefield) VALUES(1,
'TargetValue1'), (2, 'TargetValue2')
SELECT * FROM @sourceTable SELECT * FROM @targetTable
MERGE @targetTable AS target USING @sourceTable AS source
ON target.id = source.id
WHEN MATCHED THEN UPDATE SET somefield = source.somefield
WHEN NOT MATCHED THEN INSERT (id, somefield) VALUES(id, source.somefield)
WHEN NOT MATCHED BY source THEN DELETE;
SELECT * FROM @sourceTable
SELECT * FROM @targetTable