0

再次需要你的帮助。

想知道有没有办法在 SQL Server 2012 中将多个值传递给单个参数?

例如,

id     item_name  item_code
    1      boots       23
    2       hat        5
    3      dress       11

假设在上面的情况下,我有参数@inp_code

怎么办,所以当我将'23'和'11'传递给参数时,我可以获得以下输出:

id      item_name   item_code
   1       boots        23
   3       dress        11
4

1 回答 1

1

这是MSDN 文档的链接

总体概念是这样的。

  1. 您将创建一个新的表类型(在/Programmability/Types/User-Defined Table Types 下的 SSMS 中列出。这看起来像一个普通的 SQL 表,除了表头不同(CREATE TYPE AS TABLE 而不是 CREATE TABLE)
  2. 创建表类型后,您可以在存储的表类型的过程中定义一个参数。
  3. 在 SQL 脚本中,您定义表类型的变量,将其插入,并将其传递给存储过程。
  4. 在您存储的过程中,您现在可以像访问表一样访问参数(这意味着它是一个行集,而不是单个值,因此请考虑基于集合,而不是单个值)

需要注意的一项 - 这些不直接通过 ADO.NET 支持。您需要创建一个脚本,将多个值插入表变量,将其传递给存储过程,并从您的编程语言中执行整个脚本。

于 2013-04-01T09:11:19.083 回答