【问题标题】:Execute SQL Task output parameter vs ResultSet执行 SQL 任务输出参数 vs ResultSet
【发布时间】:2023-04-07 15:31:02
【问题描述】:

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

【问题讨论】:

  • 结果绑定是如果你的存储过程中有SELECT

标签: sql-server ssis etl ssis-2012 execute-sql-task


【解决方案1】:

ResultSet和输出参数不一样,各有各的用处:

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

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

您可以使用输出参数和 ResultSet 执行 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上发表了一篇关于这个主题的详细文章,你可以查看:

【讨论】:

  • 非常感谢您提供的信息。如果是参数绑定,输出参数只是一个名称,在过程执行后会取值,返回的值可以作为其他过程的输入变量?
  • @KashishAneja 最近我在 SQL Shack 上发表了一篇关于这个主题的详细文章,你可以在我添加到我的答案中的链接上查看它
猜你喜欢
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-05
  • 1970-01-01
相关资源
最近更新 更多