Table-Valued 参数 (ODBC)

通过对表值参数的 ODBC 支持,客户端应用程序可以通过一次调用将多行发送到服务器,从而更有效地将参数化数据发送到服务器。

有关服务器上的表值参数的信息,请参阅“使用 Table-Valued 参数”(数据库引擎)。

在 ODBC 中,可通过两种方式将表值参数发送到服务器:

  • 调用 SQLExecDirect 或 SQLExecute 时,所有表值参数数据都可以在内存中。 如果表值中存在多行,则此数据存储在数组中。

  • 调用 SQLExecDirect 或 SQLExecute 时,应用程序可以指定表值参数的数据执行。 在这种情况下,可以批量提供表值的数据行,也可以一次提供一行,以减少内存需求。

第一个选项使存储过程能够封装更多业务逻辑。 例如,当订单项作为表值参数传递时,单个存储过程可以封装整个订单项事务。 此选项非常高效,因为只需要单次往返服务器。 或者,可以使用不同的过程单独处理订单标头和订单项,这需要更多代码和客户端和服务器之间的更复杂的协定。

第二种方法为批量作提供了一种高效的机制,其中包含大量数据。 这使应用程序能够将数据行流式传输到服务器,而无需首先在内存中缓冲这些行。

创建表变量时,可以创建约束和主键。 约束是确保表中的数据满足特定要求的好方法。

本节中

ODBC Table-Valued 参数的使用
介绍表值参数和 ODBC 的主要用户方案。

用于 Table-Valued 参数的 ODBC SQL 类型
描述SQL_SS_TABLE类型。 这是支持表值参数的新 ODBC SQL 类型。

Table-Valued 参数描述符字段
描述支持表值参数的描述符字段。

Table-Valued 参数构成列的描述符字段
描述具有表值参数含义的描述符字段。

Table-Valued 参数诊断记录字段
描述已添加到诊断记录以支持表值参数的两个诊断字段。

影响 Table-Valued 参数的语句属性
描述一个新的描述符标头字段,该字段允许对表值参数列进行寻址。

Table-Valued 参数和列值的绑定和数据传输
描述参数绑定以及如何将表值参数传递给服务器。

Table-Valued 已准备语句的参数元数据
描述应用程序如何获取准备过程调用的元数据。

其他 Table-Valued 参数元数据
介绍如何使用 SQLProcedureColumns、SQLTables 和 SQLColumns 检索表值参数的元数据。

Table-Valued 参数数据转换和其他错误和警告
介绍如何处理表值参数列值上的错误。

跨版本兼容性
描述当表值参数由低于 SQL Server 2008 版本的客户端或服务器使用时可能发生的冲突。

ODBC Table-Valued 参数 API 摘要
列出支持表值参数的 ODBC 函数。

ODBC Table-Valued 参数编程示例
介绍如何执行常见任务。

另请参阅

SQL Server Native Client (ODBC)
Table-Valued 参数 (SQL Server Native Client)