SQLProcedureColumns

SQLProcedureColumns 返回一个报告所有 SQL Server 存储过程的返回值属性的行。

不论 CatalogNameSchemaNameProcNameColumnName 参数是否存在值,SQLProcedureColumns 都返回 SQL_SUCCESS。在这些参数中使用无效的值时,SQLFetch 会返回 SQL_NO_DATA。

可以对静态服务器游标执行 SQLProcedureColumns。尝试对可更新的(动态或键集)游标执行 SQLProcedureColumns 时,将返回 SQL_SUCCESS_WITH_INFO,指示游标类型已更改。

下表列出了结果集返回的列以及如何通过 SQL Server Native Client ODBC 驱动程序对它们进行扩展以处理 udtxml 数据类型:

列名

说明

SS_UDT_CATALOG_NAME

返回包含 UDT(用户定义类型)的目录的名称。

SS_UDT_SCHEMA_NAME

返回包含 UDT 的架构的名称。

SS_UDT_ASSEMBLY_TYPE_NAME

返回 UDT 的程序集限定名称。

SS_XML_SCHEMACOLLECTION_CATALOG_NAME

返回在其中定义 XML 架构集合名称的目录的名称。如果找不到目录名称,则此变量包含空字符串。

SS_XML_SCHEMACOLLECTION_SCHEMA_NAME

返回在其中定义 XML 架构集合名称的架构的名称。如果找不到架构名称,则此变量包含空字符串。

SS_XML_SCHEMACOLLECTION_NAME

返回 XML 架构集合的名称。如果找不到此名称,则此变量包含空字符串。

SQLProcedureColumns 和表值参数

SQLProcedureColumns 对表值参数的处理方式与 CLR 用户定义类型类似。在针对表值参数返回的行中,列具有以下值:

列名

说明/值

DATA_TYPE

SQL_SS_TABLE

TYPE_NAME

表值参数的表类型的名称。

COLUMN_SIZE

NULL

BUFFER_LENGTH

0

DECIMAL_DIGITS

表值参数中的列数。

NUM_PREC_RADIX

NULL

NULLABLE

SQL_NULLABLE

REMARKS

NULL

COLUMN_DEF

NULL。表类型可能没有默认值。

SQL_DATA_TYPE

SQL_SS_TABLE

SQL_DATEIME_SUB

NULL

CHAR_OCTET_LENGTH

NULL

IS_NULLABLE

"YES"

SS_TYPE_CATALOG_NAME

返回包含表或 CLR 用户定义类型的目录的名称。

SS_TYPE_SCHEMA_NAME

返回包含表或 CLR 用户定义类型的架构的名称。

SS_TYPE_CATALOG_NAME 和 SS_TYPE_SCHEMA_NAME 列是在 SQL Server 2008 中引入的,分别用于返回表值参数的目录和架构。这些列是为表值参数和 CLR 用户定义类型参数填充的。(CLR 用户定义类型参数的现有架构和目录列不受此附加功能影响。为保持向后兼容,也会对它们进行填充)。

为了符合 ODBC 规范,SS_TYPE_CATALOG_NAME 和 SS_TYPE_SCHEMA_NAME 的显示位置位于 SQL Server 早期版本中添加的所有驱动程序特定列之前,ODBC 自身托管的所有列之后。

有关表值参数的详细信息,请参阅表值参数 (ODBC)

SQLProcedureColumns 对日期和时间增强功能的支持

有关针对日期/时间类型返回的值,请参阅目录元数据

有关详细常规信息,请参阅 日期/时间的改进 (ODBC)

SQLProcedureColumns 对大型 CLR UDT 的支持

SQLProcedureColumns 支持大型 CLR 用户定义类型 (UDT)。有关详细信息,请参阅大型 CLR 用户定义类型 (ODBC)

请参阅

概念

其他资源