ODBC テーブル値パラメーター API の概要

適用対象:SQL ServerAzure SQL データベースAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

ODBCは、既存のAPI関数の強化を通じて、テーブル値パラメータ(テーブル値パラメータ)をサポートしています。 これらの関数は連携して、テーブル値パラメータスキーマの記述、行セットのバインドおよび送信、メタデータの取得、ディスクリプタレコードの管理を行います。
以下のセクションでは、関連するODBC関数を論理グループに整理し、テーブル値パラメータパイプラインの各部分がどのように動作するかを理解するのに役立ちます。

テーブル値パラメータスキーマの発見およびメタデータ関数

これらの関数は、列メタデータ、パラメーター定義、使用可能な SQL データ型など、テーブル値パラメーターの構造をアプリケーションで検出するのに役立ちます。

機能 目的
SQLColumns テーブル値パラメータまたはテーブルタイプの列メタデータを取得する
SQLDescribeParam タイプ、精度、スケールを含むテーブル値パラメータのメタデータを返します
SQLGetTypeInfo テーブル値パラメータ列のドライバーでサポートされているSQLデータ型を取得します
SQLPrimaryKeys テーブル値パラメータで使われるテーブルタイプのキーカラムに関する情報を提供します
SQLProcedureColumns テーブル値パラメータ関連のストアドプロシージャパラメータのメタデータを取得する
SQLTables テーブル値パラメータ宣言のソースとして利用可能なテーブルおよびテーブルタイプをリスト

テーブル値パラメータバインディングとデータ伝送

これらの関数は、構造化データのパラメーターへのバインド、サーバーへのデータの受け渡し、実行中の行のストリーミングを処理します。

機能 目的
SQLBindParameter テーブル値パラメーターをアプリケーション バッファーまたは行セットにバインドする
SQLParamData データ・アット・実行時に使用される際、ストリームされたテーブル値パラメータの次の部分を取得します
SQLPutData 実行時データ操作中にテーブル値パラメータデータをチャンク単位で送信します

テーブル値パラメータの文実行

これらの関数は、テーブル値パラメータを参照するSQL文を実行し、実行ライフサイクルを管理します。

機能 目的
SQLExecDirect テーブル値パラメータを事前に準備せずにSQL文を実行します
SQLExecute テーブル値パラメータを含む事前に準備されたSQL文を実行します

テーブル値パラメータのディスクリプタおよび属性管理

これらの関数を使用して、行セットと構造化パラメーターを正しく記述するために必要な記述子フィールドとステートメント属性を管理します。

機能 目的
SQLGetDescField テーブル値パラメータの列または行セットのディスクリプタメタデータを取得する
SQLSetDescField テーブル値パラメータの列または行セットの記述メタデータセット
SQLSetDescRec 構造化されたテーブル値パラメータデータに対して完全なディスクリプタレコードを設定します
SQLGetStmtAttr テーブル値パラメータの実行動作に影響を与える文属性を取得する
SQLSetStmtAttr テーブル値パラメータ操作のための行セットサイズやストリーミングフラグなどの文属性を設定します

テーブル値パラメータの診断と誤り処理

これらの関数を使って、テーブル値パラメータのバインディングや実行中にエラー、警告、ステータスメッセージを検出するのに役立ちます。

機能 目的
SQLGetDiagField テーブル値パラメータ処理中に生成された診断情報を取得します