根据另一个数据库的结果查询数据库
在 SSIS 中,从多个数据库检索数据可能是一项常见任务。本文探讨了根据从另一个数据库获取的结果在一个数据库中执行查询的三种方法:
方法 1:使用查找转换
添加查找转换以检索来自第一个数据库的 ID 列表。从查找表中至少选择一列。但是,要根据 ID 列表过滤行,您需要:
方法 2:使用脚本Task
此方法可以让您避免加载所有数据。使用带有 VB.NET 代码的脚本任务来检索 ID 列表并将其存储在用户变量中。将变量设置为后续数据流任务的源。
方法 3:使用执行 SQL 任务
与方法 2 类似,但使用执行 SQL 任务构建 IN 子句。执行以下 SQL 命令以检索包含 ID 列表和查询的单个结果集:
DECLARE @str AS VARCHAR(4000) SET @str = '' SELECT @str = @str + CAST([ID] AS VARCHAR(255)) + ',' FROM dbo.MyTable SET @str = 'SELECT * FROM MySecondDB WHERE ID IN (' + SUBSTRING(@str,1,LEN(@str) - 1) + ')' SELECT @str
将结果存储在用户变量中并将 DataFlow 任务延迟验证属性设置为 True。
通过利用这些方法中的任何一种,您可以根据从另一个数据库获得的结果有效地查询数据库,从而使您能够在 SSIS 包中执行更复杂的数据操作。
以上是如何在 SSIS 中根据另一个数据库的结果查询一个数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!