表值参数 (ODBC)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
针对表值参数的 ODBC 支持通过在一个调用中向服务器发送多个行,支持客户端应用程序更有效地向服务器发送参数化数据。
有关服务器上的表值参数的信息,请参阅“使用表值参数”(数据库引擎)。
在 ODBC 中,向服务器发送表值参数有两种方式:
调用 SQLExecDirect 或 SQLExecute 时,所有表值参数数据都可以在内存中。 如果表值中有多个行,此数据存储在数组中。
调用 SQLExecDirect 或 SQLExecute 时,应用程序可以指定表值参数的数据执行。 这种情况下,可以成批提供表值的各行数据,或者一次提供一行数据,以降低内存要求。
第一个选项支持存储过程封装更多业务逻辑。 例如,将订单项作为表值参数传递时,单个存储过程可以封装整个订单输入事务。 由于只需与服务器往返一次,所以此选项非常有效。 或者,可以使用不同的过程分别处理订单头和订单项,这需要为客户端和服务器之间提供更多的代码和更复杂的合同。
第二种方法为涉及海量数据的大容量操作提供了有效的机制。 该方法支持应用程序将数据行流式传送到服务器,而不是先将所有数据缓存在内存中。
创建表变量时可以创建约束和主键。 约束是确保表中数据满足特定要求的一种好方法。
本节内容
ODBC 表值参数的用法
说明表值参数和 ODBC 的主要用户方案。
表值参数的 ODBC SQL 类型
说明 SQL_SS_TABLE 类型。 这是一种新的支持表值参数的 ODBC SQL 类型。
表值参数描述符字段
说明支持表值参数的描述符字段。
表值参数构成列的描述符字段
说明包含表值参数含义的描述符字段。
表值参数诊断记录字段
说明已添加到诊断记录中用于支持表值参数的两个诊断字段。
影响表值参数的语句属性
说明支持对表值参数列寻址的新描述符标题字段。
表值参数和列值的绑定及数据传输
说明参数绑定以及如何将表值参数传递到服务器。
准备好的语句的表值参数元数据
说明应用程序如何获取准备的过程调用的元数据。
其他表值参数的元数据
介绍如何使用 SQLProcedureColumns、SQLTables 和 SQLColumns 检索表值参数的元数据。
表值参数数据转换及其他错误和警告
说明如何处理表值参数列值的错误。
跨版本兼容性
描述当表值参数由低于 SQL Server 2008(10.0.x)版本的客户端或服务器使用时可能发生的冲突。
ODBC 表值参数 API 摘要
列出支持表值参数的 ODBC 函数。
另请参阅
SQL Server Native Client (ODBC)
表值参数 (SQL Server Native Client)