Witam, chcę napisać skrypt SQL, który synchronizuje dane pomiędzy dwoma bazami danych. Obie bazy mają identyczną strukturę. Do tej pory znalazłem jedynie poniższe rozwiązanie.
-- insert
INSERT INTO Target (ID, Value)
SELECT ID, Value FROM Source
WHERE NOT EXISTS (SELECT * FROM Target WHERE Target.ID = Source.ID);
-- update
UPDATE Target
SET Value = Source.Value
FROM Target INNER JOIN Source ON Target.ID = Source.ID
-- delete
DELETE FROM Target
WHERE NOT EXISTS (SELECT * FROM Source WHERE Target.ID = Source.ID)
Czyli dla wszystkich tabel w bazie danych trzeba pisać te 3 operacje. Czy jest jakiś inny, optymalny sposób?
Byłbym bardzo wdzięczny za każdą pomoc :)