我们在参数绑定中将参数方向作为输出,同时我们确实有结果绑定。因此,如果我们有输出变量或返回类型变量,这将在输出时可用,那么为什么我们需要结果绑定。
结果集和输出参数不一样,它们都有自己的用途:
-
结果集用于存储 Select 查询的结果:它可以是一列或多列,也可以是单行或完整结果集。结果集作为 ADO 记录集进行检索,并且可以存储在变量中。通常,可以按时使用记录集。
-
输出参数用于存储一些可以设置 SQL 命令任何部分的值(最后不是必需的)。参数与 SQL 存储过程参数具有相同的概念。该值可以多次使用。
您可以有一个带有输出参数和结果集的执行 SQL 任务。
附加信息
- SQL Server 性能结果集 vs 输出参数与返回值
- 执行 SQL 任务中的结果集
- 将结果集映射到执行 SQL 任务中的变量
- 执行 SQL 任务中的参数和返回代码
更新 1 @ 2019-16-08
可以将输出参数用作另一个存储过程中的输入参数,但必须在单独的执行 SQL 任务中执行它。
如果需要在一个执行 SQL 任务中执行这两个存储过程,则可以使用 SQL 变量,如下例所述:
DECLARE @output VARCHAR(50)
EXEC proc1 @output OUTPUT
EXEC proc2 @output
更新2 @ 2019-19-09
最近我在SQL Shack上发表了一篇关于这个主题的详细文章,你可以查看一下:
- 在 SSIS 中执行 SQL 任务:输出参数与结果集