SQLProcedureColumns

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

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

SQLProcedureColumns 返回SQL_SUCCESS CatalogNameSchemaNameProcNameColumnName 参数的值是否存在。 当这些参数中使用无效值时,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 (10.0.x) 及更高版本中提供,用于分别返回表值参数的目录和架构。 这些列是为表值参数和 CLR 用户定义类型参数填充的。 (CLR 用户定义类型参数的现有架构和目录列不受此附加功能的影响。它们也会被填充,以保持) 的向后兼容性。

根据 ODBC 规范,SS_TYPE_CATALOG_NAME和SS_TYPE_SCHEMA_NAME显示在以前版本的 SQL Server 中添加的所有特定于驱动程序的列之前,以及 ODBC 本身授权的所有列之后。

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

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

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

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

SQLProcedureColumns 对大型 CLR UDT 的支持

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

另请参阅

SQLProcedureColumns Function(SQLProcedureColumns 函数)
ODBC API 实现细节