How can I load a large flat file into a database table using SSIS?

后端 未结 5 978
佛祖请我去吃肉
佛祖请我去吃肉 2020-11-27 07:15

I\'m not sure how it works so I\'m looking for the right solution. I think SSIS is the right way to go but I have never used it before

Scenario:

Every mornin

5条回答
  •  日久生厌
    2020-11-27 07:37

    I would give Merge a shot. Make sure you eventually have indexes on ItemID on both the tables.

    Merge [dbo].[ItemInfo] as target
    using
    (
        SELECT stg.ItemID, stg.ItemName, stg.ItemType
        FROM [dbo].[ItemInfo_Staging] stg
        LEFT OUTER JOIN [dbo].[ItemInfo] final
            on stg.ItemId = final.ItemId
    ) as SOURCE
    ON SOURCE.ItemID = target.ItemID
    
    WHEN MATCHED THEN
        Update SET
            target.ItemID = SOURCE.ItemID
            , target.ItemName = SOURCE.ItemName
            , target.ItemType = SOURCE.ItemType
    
    WHEN NOT MATCHED BY TARGET THEN
        INSERT (ItemID, ItemName, ItemType )
            VALUES (SOURCE.ItemID, SOURCE.ItemName, SOURCE.ItemType ) 
    
    WHEN NOT MATCHED BY SOURCE THEN
        DELETE
    ;
    

提交回复
热议问题