T-SQL - существует ли (бесплатный) способ сравнения данных в двух таблицах?
я имеюtable a
а такжеtable b
, (SQL Server 2008)
Обе таблицы имеют одинаковую схему.
Для целей этого вопроса рассмотримtable a
= моя локальная таблица разработчиков,table b
= живой стол.
Мне нужно создать сценарий SQL (содержащийUPDATE/DELETE/INSERT
заявления), который обновит таблицу b, чтобы быть такой же, как таблица а. Этот сценарий затем будет развернут в действующей базе данных.
Есть какие-нибудь бесплатные инструменты, которые могут сделать это, или еще лучше, как я могу сделать это сам?
Я думаю, что мне, вероятно, нужно сделать какое-то соединение для всех полей в таблицах, а затем сгенерировать динамический SQL на основе этого.
У кого-нибудь есть идеи?
РЕДАКТИРОВАТЬ
Ладно, подумал, я бы немного прояснил этот вопрос.
Таблица, которую мне нужно синхронизировать, является простой справочной таблицей. Данные очень просты и понятны.
Вот идея того, чтоTABLE A
может выглядеть так:
IdFoo Activity IsFoo
1 Foo 1
2 Bar 0
Вот идея того, чтоTABLE B
может выглядеть так:
IdFoo Activity IsFoo
1 Foo 1
2 Bar 1
В общем, все, что я хочу сделать, это обновить этоBIT
столбец (IsFoo
) вTABLE B
соответствовать соответствующему значению вTABLE A
для того же IdFoo.
Иметь ввиду:
TABLE A
находится на моей локальной машинеTABLE B
находится на живом сервереОчевидно, у меня есть (надежная) резервная копияTABLE B
на моей локальной машине, с которой мне нужно написать скрипт, затем запустите скрипт на живом сервере.
Таблица также имеет ссылочную целостность (другие столбцы я не показывал). Что означает, что я не могу просто удалить все вTABLE B
и сделать вставку изTABLE A
.
Этот сценарий будет выходным. Поэтому нет необходимости делать такие вещи, как связанный сервер, репликация и т. Д. Оцените ответы, ребята. знак равно
РЕДАКТИРОВАТЬ:
Итак, я пошел с ответом Олега (Сравнение данных VS2010). Быстро, легко и работает шарм.
Не сказать, что другие ответы неверны. Я ценю все ответы!