Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssis 将不同查询返回的执行SQL任务中的值存储到多个变量_Ssis - Fatal编程技术网

Ssis 将不同查询返回的执行SQL任务中的值存储到多个变量

Ssis 将不同查询返回的执行SQL任务中的值存储到多个变量,ssis,Ssis,在这种情况下,我需要使用单个执行sql任务将两个不同查询返回的值存储到两个不同的变量中。我知道单行结果集类型允许我们存储多个值,但它应该以单行返回。有人能帮忙吗?如果您想将两个不同查询的结果合并到一行中,但有两列,则必须确保在这两行中定义的字段类型相同,并且与为输出变量定义的类型匹配。也就是说,如下面的示例所示,Row1必须与变量test1的类型相同,而Row2必须与变量test2的类型相同 我使用您的场景运行了一个测试,该测试似乎有效 1) 设置以下组合两个嵌套查询结果的查询 SELECT

在这种情况下,我需要使用单个执行sql任务将两个不同查询返回的值存储到两个不同的变量中。我知道单行结果集类型允许我们存储多个值,但它应该以单行返回。有人能帮忙吗?

如果您想将两个不同查询的结果合并到一行中,但有两列,则必须确保在这两行中定义的字段类型相同,并且与为输出变量定义的类型匹配。也就是说,如下面的示例所示,Row1必须与变量test1的类型相同,而Row2必须与变量test2的类型相同

我使用您的场景运行了一个测试,该测试似乎有效

1) 设置以下组合两个嵌套查询结果的查询

SELECT
    (SELECT Row2 FROM Tests WHERE TestID = 4) AS Row1
    ,(SELECT Row2 FROM Tests WHERE TestID = 5) AS Row2
2) 由于返回的结果都是varchar(或string)类型,因此我在SSIS包中设置了一个数据类型为“string”的变量test1和第二个变量test2

3) 创建了一个执行SQL任务,为SQLStatement定义上述SQL语句,并将结果集设置为“单行”

4) 对于结果集,我添加了两个新行。第一个结果名为0,变量名为“User::test1”,第二个结果名为1,变量名为“User::test2”。这里的想法是,来自查询的Row1的结果将转到test1,而Row2将转到test2

我完成了任务,它成功了

让我知道这是否有帮助


谢谢。

嘿,科什,谢谢你的回复。这就是我实现一些要求的方式。我认为应该有一些简单的程序来实现同样的目标。无论如何,谢谢。嗨,西瓦,不用用VB或C#编写自定义脚本,这是最简单的,但这比我概述的要复杂得多。你能点击我的答案的向上箭头,指出它是有用的(因为它确认了你已经准备好的程序)?谢谢