Обработка данных, скопированных из удаленных баз данных - PullRequest
0 голосов
/ 19 апреля 2011

У нас есть база данных контрактов, которая за одну ночь извлекает данные из нашей системы управления заданиями, используя простую хранимую процедуру.Хранимая процедура просто удаляет данные из локальной таблицы и пополняет их новыми скопированными данными.Очевидно, это означает, что мы не можем устанавливать какие-либо связи с этими данными в локальной таблице / базе данных.Есть ли у кого-нибудь хорошие стратегические идеи, чтобы улучшить это, чтобы мы могли установить правильные отношения к этой таблице.Как я могу обработать удаленную запись в удаленной таблице, если в локальной таблице была установлена ​​связь с этой записью, так как простое удаление нарушило бы эту связь.

Ответы [ 2 ]

1 голос
/ 13 июня 2011

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

Что я хотел бы сделать, так это создать внешние ключи, которые могут иметь значение NULL, для локальных данных, которые должны ссылаться на них. Хранимая процедура должна обнулять все внешние ключи в различных локальных таблицах, когда поступают новые данные. Затем, когда данные восстанавливаются из удаленной базы данных, запустите хранимую процедуру, затем пройдитесь и снова подпишите внешние ключи, чтобы повторно -создавать отношения.

0 голосов
/ 19 апреля 2011

Как насчет усечения таблицы вместо ее удаления?

Если вы используете SQL Server: TRUNCATE TABLE

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