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
Sql server 执行SQL任务输出参数vs结果集_Sql Server_Ssis_Etl_Ssis 2012_Execute Sql Task - Fatal编程技术网

Sql server 执行SQL任务输出参数vs结果集

Sql server 执行SQL任务输出参数vs结果集,sql-server,ssis,etl,ssis-2012,execute-sql-task,Sql Server,Ssis,Etl,Ssis 2012,Execute Sql Task,我们在参数绑定中有参数方向作为输出,同时也有结果绑定。因此,如果我们有输出变量或返回类型变量,它们将在输出时可用,那么为什么我们需要结果绑定呢。结果集和输出参数不一样,它们各自有自己的用途: 结果集用于存储选择查询的结果:它可以是一列或多列,也可以是单行或完整的结果集。结果集作为ADO记录集检索,可以存储在变量中。一般来说,记录集可以按时使用 输出参数用于存储一些值,这些值可以在SQL命令的任何部分进行设置(最后不需要)。参数与SQL存储过程参数的概念相同。该值可以多次使用 您可以使用输出参

我们在参数绑定中有参数方向作为输出,同时也有结果绑定。因此,如果我们有输出变量或返回类型变量,它们将在输出时可用,那么为什么我们需要结果绑定呢。

结果集和输出参数不一样,它们各自有自己的用途:

  • 结果集用于存储选择查询的结果:它可以是一列或多列,也可以是单行或完整的结果集。结果集作为ADO记录集检索,可以存储在变量中。一般来说,记录集可以按时使用

  • 输出参数用于存储一些值,这些值可以在SQL命令的任何部分进行设置(最后不需要)。参数与SQL存储过程参数的概念相同。该值可以多次使用

您可以使用输出参数和结果集执行SQL任务。


补充资料

2019-16-08更新1 您可以在另一个存储过程中将输出参数用作输入参数,但必须在单独的执行SQL任务中执行它

如果需要在一个执行SQL任务中执行两个存储过程,则可以使用以下示例中提到的SQL变量:

DECLARE@output VARCHAR(50)
EXEC proc1@output
execproc2@output

更新2@2019-19-09 最近,我在SQL Shack上发表了一篇关于此主题的详细文章,您可以查看:


结果绑定是指如果在存储过程中有
选择
,非常感谢您提供的信息。在参数绑定的情况下,输出参数只是一个名称,在执行过程后将获得值,其返回的值可以用作其他过程的输入变量?@KashishAneja最近我在SQL Shack上发表了一篇关于此主题的详细文章,您可以在我添加到答案中的链接上查看