SQLProcedureColumns

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

SQLProcedureColumns は、すべての SQL Server ストアド プロシージャの戻り値属性を報告する 1 行を返します。

SQLProcedureColumns は、 CatalogNameSchemaNameProcName、または ColumnName パラメーターの値が存在するかどうかをSQL_SUCCESS返します。 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 自体で義務付けられているすべての列の後に表示されます。

テーブル値パラメーターの詳細については、「 Table-Valued Parameters (ODBC)」を参照してください。

SQLProcedureColumns による機能強化された日付と時刻のサポート

日付/時刻型で返される値については、「 Catalog メタデータ」を参照してください。

一般的な情報については、「 Date and Time Improvements (ODBC)」を参照してください。

SQLProcedureColumns による大きな CLR UDT のサポート

SQLProcedureColumns では、大きな CLR ユーザー定義型 (UDT) がサポートされます。 詳細については、「 Large CLR ユーザー定義型 (ODBC)を参照してください。

参照

SQLProcedureColumns 関数
ODBC API 実装の詳細