SQLProcedureColumns
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse 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)。
大型 CLR UDT 的 SQLProcedureColumns 支援
SQLProcedureColumns 支援大型 CLR 使用者定義型別 (UDT)。 如需詳細資訊,請參閱 大型CLR使用者定義型別 (ODBC)。