sql-server - 执行 SQL 任务输出参数 vs ResultSet
问题描述
我们在参数绑定中有参数方向作为输出,同时我们也有结果绑定。因此,如果我们有输出变量或返回类型变量,它们将在输出中可用,那么为什么我们需要 Result 绑定。
解决方案
ResultSet 和输出参数不一样,各有各的用途:
ResultSets用于存储 Select 查询的结果:它可以是一列或多列,也可以是单行或完整的结果集。结果集作为 ADO 记录集检索,并且可以存储在变量中。一般来说,一个 RecordSet 可以按时使用。
输出参数用于存储一些可以在 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 上发表了一篇关于这个主题的详细文章,你可以查看它:
推荐阅读
- asp.net-core - Linux 中的中性和 Blazor
- r - R 在列表列工作流程中使用 dplyr::select()
- python - Pandas 根据条件组合连续行
- ios - 如何将 API 数据传递给表格视图单元格
- image-processing - 在 Julia 中并行加载图像
- javascript - 如何在 React Navbar 中显示变量?
- php - 如何在 WooCommerce 的特定位置添加自定义结帐字段
- c++ - 如何使用 C++/WinRT + WinUI 3 以编程方式设置 TextBlock 属性
- django - Django中的条件分页数
- gevent - 如何使 grpc 猴子补丁代码仅打开 v4 套接字。它默认打开一个 v6 套接字