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存储过程参数的概念相同。该值可以多次使用
补充资料
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上发表了一篇关于此主题的详细文章,您可以在我添加到答案中的链接上查看