SQLSetDescRecSQLSetDescRec

適用対象: ○SQL Server ○Azure SQL Database ○Azure SQL Data Warehouse ○Parallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

このトピックで説明する固有の sqlsetdescrec による機能SQL ServerSQL ServerNative Client。This topic discusses SQLSetDescRec functionality that is specific to SQL ServerSQL Server Native Client.

SQLSetDescRec とテーブル値パラメーターSQLSetDescRec and Table-Valued Parameters

SQLSetDescRec とテーブル値パラメーターおよびテーブル値パラメーター列の記述子フィールドを設定するのに使用できます。SQLSetDescRec can be used to set descriptor fields for table-valued parameters and table-valued parameter columns. テーブル値パラメーター列は、記述子のヘッダー フィールド SQL_SOPT_SS_PARAM_FOCUS に、SQL_DESC_TYPE が SQL_SS_TABLE に設定されているレコードの序数が設定される場合のみ使用できます。Table-valued parameter columns are only available when the descriptor header field SQL_SOPT_SS_PARAM_FOCUS is set to the ordinal of a record that has SQL_DESC_TYPE set to SQL_SS_TABLE. SQL_SOPT_SS_PARAM_FOCUS の詳細については、次を参照してください。 SQLSetStmtAttrします。For more information about SQL_SOPT_SS_PARAM_FOCUS, see SQLSetStmtAttr.

次の表では、パラメーターと記述子フィールド間のマッピングについて説明します。The following table describes the mapping between parameters and descriptor fields.

パラメーターParameter 非テーブル値パラメーターの型を使用して、テーブル値パラメーターの列を含む関連する属性Related attribute for non-table-valued parameter types, including table-valued parameter columns テーブル値パラメーターに関連する属性Related attribute for table-valued parameters
Type SQL_DESC_TYPESQL_DESC_TYPE SQL_SS_TABLESQL_SS_TABLE
SubTypeSubType 無視Ignored SQL_DATETIME 型または SQL_INTERVAL 型のレコードの場合は、これに SQL_DESC_DATETIME_INTERVAL_CODE を設定します。For records of type SQL_DATETIME or SQL_INTERVAL, set this to SQL_DESC_DATETIME_INTERVAL_CODE.
LengthLength SQL_DESC_OCTET_LENGTHSQL_DESC_OCTET_LENGTH テーブル値パラメーターの型名の長さ。The length of the table-valued parameter type name. 終了すると、型名が null または 0 場合、テーブル値パラメーターの名前を入力する必要はない場合は、SQL_NTS にできます。This can be SQL_NTS if the type name is null terminated, or zero if the table-valued parameter type name is not required.
PrecisionPrecision SQL_DESC_PRECISIONSQL_DESC_PRECISION SQL_DESC_ARRAY_SIZESQL_DESC_ARRAY_SIZE
ScaleScale SQL_DESC_SCALESQL_DESC_SCALE 未使用。Unused. このパラメーターは 0 にする必要があります。This parameter should be zero.
DataPtrDataPtr APD の SQL_DESC_DATA_PTRSQL_DESC_DATA_PTR in APD SQL_CA_SS_TYPE_NAMESQL_CA_SS_TYPE_NAME

このパラメーターは、ストアド プロシージャの呼び出しでは省略可能で、不要の場合は NULL を指定できます。This parameter is optional for stored procedure calls, and NULL can be specified if it is not required. このパラメーターは、プロシージャの呼び出し以外の SQL ステートメント用に指定する必要があります。This parameter must be specified for SQL statements that are not procedure calls.

DataPtrアプリケーションは、可変の行バインドを使用する場合は、このテーブル値パラメーターを識別するために使用できる一意の値としても機能します。DataPtr also serves as a unique value that the application can use to identify this table-valued parameter when variable row binding is used.
StringLengthPtrStringLengthPtr SQL_DESC_OCTET_LENGTH_PTRSQL_DESC_OCTET_LENGTH_PTR SQL_DESC_OCTET_LENGTH_PTRSQL_DESC_OCTET_LENGTH_PTR

テーブル値パラメーターの場合、これは転送する行数または SQL_DATA_AT_EXEC です。For a table-valued parameter, this is the number of rows to transfer or SQL_DATA_AT_EXEC. これは、SQLExecDirect で転送する行数を保持する値へのポインターです。This is a pointer to a value that holds the number of rows to transfer with SQLExecDirect.
IndicatorPtrIndicatorPtr SQL_DESC_INDICATOR_PTRSQL_DESC_INDICATOR_PTR SQL_DESC_INDICATOR_PTRSQL_DESC_INDICATOR_PTR

テーブル値パラメーターの詳細については、次を参照してください。テーブル値パラメーター (ODBC)します。For more information about table-valued parameters, see Table-Valued Parameters (ODBC).

SQLSetDescRec による機能強化された日付と時刻のサポートSQLSetDescRec Support for Enhanced Date and Time Features

日付型または時刻型に対して許可される値を次に示します。The values allowed for date/time types are as follows:

Type SubTypeSubType LengthLength PrecisionPrecision ScaleScale
DATETIMEdatetime SQL_DATETIMESQL_DATETIME SQL_CODE_TIMESTAMPSQL_CODE_TIMESTAMP 44 33 33
smalldatetimesmalldatetime SQL_SQL_DATETIMESQL_SQL_DATETIME SQL_CODE_TIMESTAMPSQL_CODE_TIMESTAMP 88 00 00
日付date SQL_DATETIMESQL_DATETIME SQL_CODE_DATESQL_CODE_DATE 66 00 00
timetime SQL_SS_TIME2SQL_SS_TIME2 00 1010 0..70..7 0..70..7
datetime2datetime2 SQL_DATETIMESQL_DATETIME SQL_CODE_TIMESTAMPSQL_CODE_TIMESTAMP 1616 0..70..7 0..70..7
datetimeoffsetdatetimeoffset SQL_SS_TIMESTAMPOFFSETSQL_SS_TIMESTAMPOFFSET 00 2020 0..70..7 0..70..7

詳細については、次を参照してください。日付と時刻の強化(ODBC)します。For more information, see Date and Time Improvements (ODBC).

SQLSetDescRec による大きな CLR UDT のサポートSQLSetDescRec Support for Large CLR UDTs

SQLSetDescRec大きなの CLR ユーザー定義型 (Udt) をサポートしています。SQLSetDescRec supports large CLR user-defined types (UDTs). 詳細については、次を参照してください。 Large CLR User-Defined 型(ODBC)します。For more information, see Large CLR User-Defined Types (ODBC).

参照See Also

SQLSetDescRec SQLSetDescRec
ODBC API 実装の詳細ODBC API Implementation Details