テーブル値パラメーターを構成する列の記述子フィールドDescriptor Fields for Table-Valued Parameter Constituent Columns

適用対象: ○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

このセクションで説明するテーブル値パラメーターの記述子フィールドを使用して操作SQLSetDescFieldSQLSetDescField実装パラメーター記述子 (のハンドルを持つIPD)。The table-valued parameter descriptor fields described in this section are manipulated by using SQLSetDescField and SQLSetDescField with the handle for the implementation parameter descriptor (IPD).

コメントRemarks

SQL_DESC_AUTO_UNIQUE_VALUE は、その他の機能と同様にテーブル値パラメーターで使用されます。SQL_DESC_AUTO_UNIQUE_VALUE is used for table-valued parameters as well as other features.

属性名Attribute name Type 説明Description
SQL_DESC_AUTO_UNIQUE_VALUESQL_DESC_AUTO_UNIQUE_VALUE SQLINTEGERSQLINTEGER SQL_TRUE はこの列が ID 列であることを示します。SQL_TRUE indicates that this column is an identity column.

SQL ServerSQL Server パフォーマンスを最適化するためにこの情報を使用できますが、アプリケーションが id 列用に設定する必要はありません。can use this information to optimize performance, but applications are not required to set it for identity columns.

アプリケーション パラメーター記述子 (APD) および実装パラメーター記述子 (IPD) のすべてのパラメーターの型に追加される属性を次に示します。The following attributes are added to all parameter types in the application parameter descriptor (APD) and implementation parameter descriptor (IPD):

属性名Attribute name Type 説明Description
SQL_CA_SS_COLUMN_COMPUTEDSQL_CA_SS_COLUMN_COMPUTED SQLSMALLINTSQLSMALLINT SQL_TRUE はこの列が計算列であることを示します。SQL_TRUE indicates that this column is computed.

SQL ServerSQL Server パフォーマンスを最適化するためにこの情報を使用できますが、アプリケーションは、計算列用に設定する必要はありません。can use this information to optimize performance, but applications are not required to set it for computed columns.

テーブル値パラメーターの列以外のバインドでは、この属性は無視されます。This attribute is ignored for bindings that are not table-valued parameter columns.
SQL_CA_SS_COLUMN_IN_UNIQUE_KEYSQL_CA_SS_COLUMN_IN_UNIQUE_KEY SQLSMALLINTSQLSMALLINT SQL_TRUE はテーブル値パラメーターの列が一意キーに参加することを示します。SQL_TRUE indicates that a table-valued parameter column participates in a unique key. これにより、クエリのパフォーマンスが向上します。This can result in better query performance. テーブル値パラメーターの列以外のバインドでは、この属性は無視されます。This attribute is ignored for bindings that are not table-valued parameter columns.
SQL_CA_SS_COLUMN_SORT_ORDERSQL_CA_SS_COLUMN_SORT_ORDER SQLSMALLINTSQLSMALLINT テーブル値パラメーターの列の並べ替え順を示します。Indicates the sort order of a table-valued parameter column. これにより、クエリのパフォーマンスが向上します。This can result in better query performance. テーブル値パラメーターの列以外のバインドでは、この属性は無視されます。This attribute is ignored for bindings that are not table-valued parameter columns. 使用できる値を次に示します。The possible values are the following:
SQL_SS_ASCENDING_ORDERSQL_SS_ASCENDING_ORDER
SQL_SS_DESCENDING_ORDERSQL_SS_DESCENDING_ORDER
SQL_SS_ORDER_UNSPECIFIEDSQL_SS_ORDER_UNSPECIFIED

以外の値SQL_SS_ASCENDING_ORDERSQL_SS_DESCENDING_ORDERでエラーが発生SQLSTATE HY024 '属性の値をメッセージし、はとして扱われますSQL_SS_ORDER_UNSPECIFIED、これはこの属性の既定値です。Values other than SQL_SS_ASCENDING_ORDER and SQL_SS_DESCENDING_ORDER generate an error with SQLSTATE HY024 and message 'Invalid attribute value' and are treated as SQL_SS_ORDER_UNSPECIFIED, which is the default value for this attribute.
SQL_CA_SS_COLUMN_SORT_ORDINALSQL_CA_SS_COLUMN_SORT_ORDINAL SQLSMALLINTSQLSMALLINT テーブル値パラメーターの全体的な順序を定義する列セット内における、テーブル値パラメーター列の序数を示します。Indicates the ordinal of a table-valued parameter column in the set of columns that define the overall ordering for a table-valued parameter. これにより、クエリのパフォーマンスが向上します。This can result in better query performance. テーブル値パラメーターの列以外のバインドでは、この属性は無視されます。This attribute is ignored for bindings that are not table-valued parameter columns. 並べ替えの序数は 1 から始まります。Sort ordinals start at 1. 値が 0 (既定値) の場合は、テーブル値パラメーターの列に列の順序が設定されていないことを示します。A value of 0, the default, indicates that a table-valued parameter column does not have column ordering.
SQL_CA_SS_COLUMN_HAS_DEFAULT_VALUESQL_CA_SS_COLUMN_HAS_DEFAULT_VALUE SQLSMALLINTSQLSMALLINT テーブル値パラメーターのすべての行にこの列の既定値が設定されるかどうかを示します。Indicates whether all rows in the table-valued parameter will have the default value for this column. テーブル値パラメーターの場合、行ごとに既定値を選択できません。For table-valued parameters, it is not possible to select the default value on a row-by-row basis. 値が SQL_FALSE の場合は、行に既定値以外の値が設定されることを示します。A value of SQL_FALSE indicates that rows will have non-default values. 既定値です。This is the default. 値が SQL_TRUE の場合は、この列のすべての行に既定値が設定されることを示します。A value of SQL_TRUE indicates that this column will have default values for all rows.

SQL_TRUE に設定されている場合、データはサーバーに送信されません。If set to SQL_TRUE, no data will be sent to the server.

列の値がサーバー処理で不要な場合、このフィールドは ID 列または計算列でも使用することができます。This field can also be used with identity or computed columns if the column values are not required for server processing.

これらの属性は、テーブル値パラメーターの列に対してのみ有効です。These attributes are only valid for table-valued parameter columns. 他のパラメーターでは無視されます。They are ignored for other parameters.

テーブル値パラメーターの列に SQL_CA_SS_COL_HAS_DEFAULT_VALUE を設定する場合は、その列の SQL_DESC_DATA_PTR が NULL ポインターである必要があります。If SQL_CA_SS_COL_HAS_DEFAULT_VALUE is set for a table-valued parameter column, SQL_DESC_DATA_PTR for that column must be a null pointer. それ以外の場合、SQLExecute、SQLExecDirect または SQL_ERROR を返します。Otherwise, SQLExecute or SQLExecDirect will return SQL_ERROR. Sqlstate 診断レコードが生成されます = 07S01 メッセージ"パラメーターの既定のパラメーターが正しく使用<p >、列<c >"ここで、 <p > は、パラメーターの序数と<c > は、列の序数。A diagnostic record will be generated with SQLSTATE=07S01 and the message "Invalid use of default parameter for parameter <p>, column <c>", where <p> is the parameter ordinal and <c> is the column ordinal.

関連項目See Also

テーブル値パラメーター (ODBC)Table-Valued Parameters (ODBC)