Как импортировать данные с SSIS для последовательного руководства?
-
25-09-2019 - |
Вопрос
Есть ли в любом случае для импорта данных в SSIS, где я ожидаю, что PKS будет последовательным руководством?
Единственный метод, который я смог придумать до сих пор, это создать временную таблицу с столбцом по умолчанию для newsequentialid()
Загрузка данных там, скопируя его на правильный стол. Это не очень элегантно и несколько времени потребляет, чтобы добавить кучу дополнительных слоев в моих пакетах, чтобы вместить это.
Решение
Я не использую GUID, как PKS, но вы не можете устанавливать newsexential () в качестве значения по умолчанию, то любая вставка в вашу datbase будет использовать это.
Другие советы
Вы смотрели на Выходное предложение?
По сути, вы выводите все, что было вставлено (включая поля идентификации) в переменную таблицы или таблицу TEMP. Вы не можете вставить его непосредственно в другую таблицу, если другая таблица имеет внешние отношения ключей. Всякий раз, когда я использовал его, я использовал таблицу TEMP, а затем вставил оттуда в детский стол.
Вот пример его использования:
DECLARE @roles TABLE (
SecurityRoleId int
)
INSERT dbo.SecurityRole (
SecurityRoleName,
SecurityRoleDescription,
LastUpdatedGuid
)
OUTPUT
INSERTED.SecurityRoleId
INTO @roles
SELECT
SecurityRoleName,
SecurityRoleDescription,
NEWID()
FROM @SecurityRole
INSERT INTO dbo.SecurityRoleDtl (
SecurityRoleId,
MemberSecurityRoleId
)
SELECT
1,
SecurityRoleId
FROM @roles