SQLProcedureColumns
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
SQLProcedureColumns 返回一行,报告所有 SQL Server 存储过程的返回值属性。
SQLProcedureColumns 返回SQL_SUCCESS CatalogName、SchemaName、ProcName 或 ColumnName 参数是否存在值。 在这些参数中使用无效值时,SQLFetch 将返回SQL_NO_DATA。
可以在静态服务器游标上执行 SQLProcedureColumns 。 尝试对可更新的(动态或键集)游标执行 SQLProcedureColumns 将返回SQL_SUCCESS_WITH_INFO指示游标类型已更改。
下表列出了结果集返回的列及其扩展方式,以通过 SQL Server Native Client ODBC 驱动程序处理 udt 和 xml 数据类型:
列名 | 说明 |
---|---|
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 用户定义类型的架构的名称。 |
SQL Server 2008(10.0.x)和更高版本中提供了SS_TYPE_CATALOG_NAME和SS_TYPE_SCHEMA_NAME列,分别返回表值参数的目录和架构。 这些列是为表值参数和 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)。