次の方法で共有


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

ODBC のテーブル値パラメーターのサポートにより、クライアント アプリケーションは、1 回の呼び出しで複数の行をサーバーに送信することで、パラメーター化されたデータをサーバーに効率的に送信できます。

サーバーでのテーブル値パラメーターの詳細については、「テーブル値パラメーターの使用 (データベース エンジン)」を参照してください。

ODBC でテーブル値パラメーターをサーバーに送信するには、次の 2 つの方法があります。

  • SQLExecDirect または SQLExecute の呼び出し時、すべてのテーブル値パラメーターのデータをメモリ内に保持できます。 テーブル値に複数の行がある場合、このデータを配列に格納します。

  • SQLExecDirect または SQLExecute を呼び出すときに、アプリケーションでテーブル値パラメーターの実行時データを指定できます。 この場合、テーブル値のデータの行をバッチ内で指定するか、必要なメモリ量を減らすために 1 つずつ指定することができます。

1 つ目の方法では、より多くのビジネス ロジックをストアド プロシージャにカプセル化できます。 たとえば、発注品目をテーブル値パラメーターとして渡す場合、注文入力のトランザクション全体を 1 つのストアド プロシージャにカプセル化することができます。 サーバーとのやり取りが 1 回で済むため、この方法は非常に効率的です。 また、異なるプロシージャを使用して、注文ヘッダーと発注品目を個別に処理することもできます。この場合、必要なコードが多くなり、クライアントとサーバー間のコントラクトが複雑になります。

2 つ目の方法は、膨大な量のデータを使用する一括操作のときに効率の良いメカニズムです。 この方法では、アプリケーションで最初にデータ行をメモリ内のバッファーに格納しなくても、データ行をサーバーにストリーム送信できます。

テーブル変数を作成するときに、制約と主キーを作成できます。 制約は、テーブル内のデータが特定の要件を満たしていることを確認するのに優れた方法です。

このセクションの内容

関連項目

概念

SQL Server Native Client (ODBC)

テーブル値パラメーター (SQL Server Native Client)