適用対象:SQL Server
Azure SQL データベース
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics 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 | テーブル値パラメータ処理中に生成された診断情報を取得します |