0

我正在阅读 Murachs ADO.NET 4 数据库编程书。在第 7 章中,他们讨论了输出参数。我在编写数据阅读器时从未见过这种情况。这本书对这个话题很感兴趣,互联网也是如此。我的问题是什么是输出参数,你会在什么情况下使用输出参数。

这是书中的例子:

SELECT @Name = Name, @Address = Address1, @Address2 = Address2, @City = City
FROM Vendors
WHERE VendorID = @VendorID

如您所见,此查询的选择区域中有参数。这是如何运作的?我以前从未在那里见过他们。我总是在 where 子句中看到它们。

4

1 回答 1

1

如果您有一个存储过程,您希望返回多个标量值而不必将它们放入结果表中,您可以使用多个输出参数。

T-SQL 上下文(无论是存储过程还是直接执行 SQL)接受参数,并返回以下任何或所有内容:

  1. 结果集(由零个或多个表组成)
  2. 返回码或值
  3. 输出参数
  4. 留言

在您发布的 T-SQL 中,这意味着代码不是在结果集中返回表,而是将单数标量字段值存储在 T-SQL 变量中(因为VendorID是主键,只会返回 1 行),并且大概这些变量被绑定为输出参数,因此可以由调用 SQL 客户端访问。

在某种程度上,可以将 T-SQL 脚本的输出与 C# 函数进行比较,该函数可以通过设置out方法参数、提供返回值以及写入stdoutor stderr(或任何其他非本地、范围内的资源)来输出.

于 2013-03-14T23:45:24.793 回答