SQLProcedureColumns
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
SQLProcedureColumns は、すべての SQL Server ストアド プロシージャの戻り値属性を報告する 1 行を返します。
SQLProcedureColumns は、 CatalogName、 SchemaName、 ProcName、または 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)を参照してください。