SSIS 2008 查找
我使用查找组件。当没有匹配输出时,我将行插入到目标表中。我想在查找匹配时用这些行更新目标表。 我怎样才能做到这一点?
谢谢!!
I use a lookup component. When No Match output, I insert the rows into a target table. I would like to update the target table with this rows when Lookup is matched.
How can I do that?
Thx!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在查找转换中,将查找匹配输出映射到
OLE DB 命令转换
。在 OLE DB 命令转换中,使用 UPDATE 语句或存储过程并相应地映射列。这是一个链接 描述如何使用OLE DB Command 转换。请注意,如果要更新的行太多,OLE DB 命令转换可能会减慢速度。
有几个选项:
您可以在第一个查找转换和 OLE DB 命令之间使用第二个查找转换。在第二次查找中,映射要更新的源和目标之间的所有列(包括键列),并仅在没有匹配记录时将输出重定向到 OLE DB 命令。
使用序列号将查找匹配输出的输出拆分为多个输出,并进行多个 OLD DB 命令转换。请在 这个 Stack Overflow 问题中找到我的答案 在重定向到 OLE DB 命令之前,我将一个转换的输出拆分为多个输出。
希望有帮助。
In the Lookup transformation, map Lookup Match Output to an
OLE DB Command transformation
. In the OLE DB command transformation use an UPDATE statement or a stored procedure and map the columns accordingly. Here is a link that describes how to use OLE DB Command transformation.Please note that if you have too many rows to update, OLE DB Command transformation might slow down things.
There are couple of options:
You can use a second Lookup Transformation between the first Lookup transformation and the OLE DB Command. In the second lookup, map all the columns between source and destination that you will be updating including the key column and redirect the output to OLE DB Command only if there is not matching records.
Split the output from Lookup Match Output to multiple outputs using a sequence number and have multiple OLD DB Command transformations. Please find my answer in this Stack Overflow question where I split output from one transformation into multiple output before redirecting to an OLE DB Command.
Hope that helps.