質問

私はの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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top