2014-09-05 66 views
0

我正在使用SQL Server/SSIS 2005,并且我非常重视某些我认为应该是一个简单问题的东西。我想弄清楚如何从SSIS项目中创建的增量ID插入数据到另一个表中。SSIS - 在导入时将数据/ ID插入到另一个表中

为了进一步明确,有我的例子:

我有一个表称为用户使用下面的值(缩短这个目的)

User ID Username 
======= ======== 
    1  jsmith 
    2  jjones 

我有另一个表称为使用UserPreferences与下列值

ID   Keyname   Keyvalue 
=======  ===========  ========= 
    1   Send a Report YES 
    2   Send a Report YES 

现在我已经描述d表中,我将使用SSIS将数据插入到用户表中。用户标识是用户表中的标识字段。 ID也是userspreferences表中的标识字段。而且他们每个人都相互对应。

我想要做的是根据用户表中生成的用户标识,将数据插入userpreferences表。作为一个例子,我通过导入插入一条记录作为用户ID#3。然后我想将该ID插入用户首选项表并插入键名和键值。只是为了澄清,键名和键值不是文本文件的一部分。我想要将这些插入到项目中。

目前,我可以通过一些“后处理”通过T-SQL来实现我的目标。但我试图在SSIS中更有效地做到这一点。加上这会帮助我很多,因为我经常这样做。

我试过研究这个,我认为这可能对我有帮助:SSIS - Multiple table insert。但是,解决方案缺少屏幕截图。有人可以帮助我完成这项任务。我将不胜感激。

回答

0

您可以在用户表上转换标识插入,并使用VB脚本组件转换手动生成标识,以便它们在数据流中可供您加载到用户首选项表中。虽然后处理可能是您最好的选择,但只需构建一个执行SQL任务以在数据流完成后运行,并且它仍将是您的包的一部分。

+0

谢谢您的回复。关于后处理更容易,你是对的。尽管我有一个问题给你。如果我添加一个执行SQL任务,我将如何获得我已经导入的所有ID?或者你是否说我需要在导入之前计算并将它放置在那里? – user1937434 2014-09-05 20:51:38

+0

我在想你有什么样的逻辑,根据你正在加载的用户记录中的一些数据,计算出在首选项表上放置什么?你不能只是在加载后执行一条SQL语句来对这个表进行基于集合的插入吗? – 2014-09-08 14:50:10

相关问题