SSIS填充到多个表

时间:2014-05-23 10:21:26

标签: sql ssis

我的SQL Server上有这些表

  1. view_items - itemcode,itemname,description,length,width,height,weight
  2. 项目 - itemid,itemname,itemcode,description
  3. items_specs - itemspecsid,itemid,length,width,height,weight
  4. 我尝试使用 SSIS OLEDB来源将数据从我的视图( view_items )导入表和 OLEDB目的地。我成功导入了它,但我的问题是如何才能使用插入的 itemid 作为 item_specs 表的外键。

3 个答案:

答案 0 :(得分:1)

您需要2个数据流任务。第一个数据流组件将像您一样填充items表。 第二个数据流任务将使用view_items作为源,然后您可以使用查找转换。Lookup ItemId

在列部分中,您可以根据记录的唯一性进行映射。例如,如果您的itemname是唯一的,则如下所示,并检查itemid列是否为查阅列。

- enter image description here

答案 1 :(得分:0)

1)这就是我的开始: 在项目表上关闭identity_insert。 从项目中查找最大值,并将其递增1.这是从view_items检索的当前信息行的项目ID。您可以使用查找表来存储最大ID。 现在可以将此项目ID插入到items_specs项目中 完成后,打开identity_insert

答案 2 :(得分:0)

这会有用吗? 我想你可以在' Items'之后添加一个DTF。使用以下OLEDB Source脚本

加载Source
SELECT  IS.itemspecsid, 
        IS.itemid, 
        IS.length, 
        IS.width, 
        IS.height, 
        IS.weight
FROM    items I
JOIN    items_specs IS ON I.itemid = IS.itemid