SSIS - поиск суррогатного ключа для родителя - PullRequest
0 голосов
/ 15 апреля 2009

В моей исходной БД есть таблица, которая ссылается на себя

| BusinessID | ... | ParentID |

Эта таблица смоделирована в DW как | SurrogateID | BusinessID | ParentID |

Первый вопрос: должен ли ParentID в DW ссылаться на суррогатный идентификатор или бизнес-идентификатор. Моя идея заключается в том, что он должен ссылаться на суррогатный идентификатор.

Тогда моя проблема возникает в моей задаче потока данных SSIS, как я могу найти суррогатный ключ родителя?

Если я вставлю все строки, где ParentID равен нулю, а затем те, которые не равны нулю, я решу часть проблемы.

Но мне все еще приходится искать строки, которые могут ссылаться на родителя, который также является дочерним.

т.е. Я должен убедиться, что родители загружены первыми в БД, чтобы можно было использовать преобразование поиска.

Нужно ли разрешить для каждого с отсортированным вводом?

1 Ответ

1 голос
/ 15 апреля 2009

Один прием, который я использовал в этой ситуации, заключается в загрузке строк без ParentID. Затем я использовал другой поток данных для создания сценария обновления на основе исходных данных и загруженных данных, а затем использовал задачу SQL для запуска созданного сценария обновления. Он не выиграет призы за элегантность, но он работает.

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