次の方法で共有


準備されたステートメント用のテーブル値パラメーターのメタデータ

適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

アプリケーションは、SQLNumParams と SQLDescribeParam を使用して、準備されたプロシージャ呼び出しのメタデータを取得できます。 テーブル値パラメーターの場合、 DataTypePtr は SQL_SS_TABLE に設定されます。 SQL_CA_SS_TYPE_NAME、SQL_CA_SS_CATALOG_NAME、およびSQL_CA_SS_SCHEMA_NAME用の SQLGetDescField を介して追加のメタデータを使用できます。

SQL_CA_SS_TYPE_NAME、SQL_CA_SS_CATALOG_NAME、およびSQL_CA_SS_SCHEMA_NAMEを SQLColumns と共に使用して、テーブル値パラメーターに関連付けられているテーブル型の列メタデータを取得できます。 この場合、SQLColumns を呼び出す前に、SQL_SOPT_SS_NAME_SCOPEを SQL_SS_NAME_SCOPE_TABLE_TYPE に設定する必要があります。 その後、アプリケーションでテーブル値パラメーターの列のメタデータの取得が完了したら、SQL_SOPT_SS_NAME_SCOPE を既定値の SQL_SS_NAME_SCOPE_TABLE に戻す必要があります。

SQL_CA_SS_TYPE_NAME、SQL_CA_SS_CATALOG_NAME、および SQL_CA_SS_SCHEMA_NAME は、CLR ユーザー定義型パラメーターでも使用できます。

ストアド プロシージャ呼び出しではない準備されたステートメント用にテーブル値パラメーターのメタデータを取得することはできません。 取得しようとすると、アプリケーションから SQLSTATE 42000 で "構文エラーまたはアクセス違反です" というメッセージの SQL_ERROR が返されます。

参照

テーブル値パラメーター (ODBC)