Сопоставление данных из нескольких баз данных - PullRequest
0 голосов
/ 02 ноября 2011

Я пытаюсь сопоставить наборы данных из нескольких баз данных.У меня есть две версии одной и той же базы данных, которые содержат разные наборы данных.Я хотел бы взять данные из таблиц в одной базе данных и вставить их в другую.

При вставке мне нужно настроить различные идентификаторы в разных таблицах.PK будут автоматически назначены на строки, добавленные в каждую таблицу, и мне нужно записать их для исходных PK, чтобы вставить правильные значения в другие таблицы.Поэтому я создал еще одну таблицу для вставки исходных и новых идентификаторов для справки.

Я уже придумал это.Похоже, ошибка: tr.data_sourceID (нельзя связать идентификатор из нескольких частей "tr.data_sourceID".) Но я не уверен, почему это так?

    DECLARE @data_source_var TABLE
    (
        data_sourceID bigint
        ,new_data_sourceID bigint
    );

    INSERT INTO dbo.tbl_data_source(data_source_dir, data_source_path, data_source_name, data_source_type, create_hour, create_minute, create_day, create_month, create_year, 
                      upload_complete, lastFieldUsed, errorCleared, errorClearedBy, errorClearedOn, queueSize, createDate, taskID) 
    OUTPUT tr.data_sourceID, INSERTED.data_sourceID INTO @data_source_var (data_sourceID, new_data_sourceID)
    SELECT data_source_dir, data_source_path, data_source_name, data_source_type, create_hour, create_minute, create_day, create_month, create_year, 
                      upload_complete, lastFieldUsed, errorCleared, errorClearedBy, errorClearedOn, queueSize, createDate, taskID
    FROM otherdb.dbo.tbl_data_source tr 

Прочитав это (/6971103/ispolzovanie-merge-output-dlya-otobrazheniya-mezhdu-source-id-i-target-id)кажется, что MERGE сделает это хорошо. Однако в 2005 году MERGE не было. Все еще ищем решение 2005 года.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...