シーケンシャルGUIDのSSISを使用してデータをインポートする方法?
-
25-09-2019 - |
質問
私はのPKがシーケンシャルのGUIDであることを期待SSISへのデータのインポートにとにかくありますか?
私がこれまでに出てくることができました唯一の方法は、列が正しいテーブルにコピーし、そこにnewsequentialid()
の負荷にデータを不履行で一時テーブルを作成することです。これは非常にエレガントではなく、ややこれに対応するために、私のパッケージ内の余分な層の束を追加することの時間がかかります。
解決
Iドン;のPKなどのT使用のGUIDが、あなたは(newsequentialid設定することはできません)デフォルト値として、その後、あなたのdatbaseへの挿入は、それを使用します。
。他のヒント
あなたは OUTPUT句を見たことがありますか?
基本的に、出力テーブル変数や一時テーブルに(アイデンティティフィールドを含む)を挿入したもの。他のテーブルは、外部キー関係を持っている場合は、別のテーブルに直接挿入することはできません。私はそれを使用しているときはいつでも、私は一時テーブルを使用して、子テーブルに、そこから挿入します。
ここでは、その使用の例です。
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
所属していません StackOverflow