Untitled

 avatar
unknown
plain_text
a month ago
984 B
5
Indexable
-- Find rows that exist in Source but not in Target and insert them
INSERT INTO TargetDatabase.dbo.YourTable (Column1, Column2, ...)
SELECT Column1, Column2, ... 
FROM SourceDatabase.dbo.YourTable
WHERE NOT EXISTS (
    SELECT 1 
    FROM TargetDatabase.dbo.YourTable T2 
    WHERE SourceDatabase.dbo.YourTable.PrimaryKeyColumn = T2.PrimaryKeyColumn
);

-- Update rows with different values in Target
UPDATE T 
SET T.Column1 = S.Column1, 
    T.Column2 = S.Column2, 
    -- Update other columns accordingly
FROM TargetDatabase.dbo.YourTable T
JOIN SourceDatabase.dbo.YourTable S 
    ON T.PrimaryKeyColumn = S.PrimaryKeyColumn
WHERE T.Column1 <> S.Column1 
    OR T.Column2 <> S.Column2 
    -- Add more conditions for other columns

-- Delete rows that exist in Target but not in Source
DELETE FROM TargetDatabase.dbo.YourTable
WHERE NOT EXISTS (
    SELECT 1 
    FROM SourceDatabase.dbo.YourTable T1 
    WHERE TargetDatabase.dbo.YourTable.PrimaryKeyColumn = T1.PrimaryKeyColumn
);
Leave a Comment