Share via


ストアド プロシージャ - 実行

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

OLE DB ドライバーのダウンロード

ステートメントの実行時、データ ソースに対して (クライアント アプリケーション内で直接ステートメントを実行または準備せずに) ストアド プロシージャを呼び出すと、次のような利点があります。

  • パフォーマンスの向上。

  • ネットワーク オーバーヘッドの軽減。

  • 一貫性の向上

  • 正確性の向上

  • 機能の追加。

OLE DB Driver for SQL Server は、データを返すために SQL Server ストアド プロシージャで使用される 3 つのメカニズムをサポートしています。

  • プロシージャ内のすべての SELECT ステートメントで結果セットを生成する。

  • プロシージャが出力パラメーターによってデータを返すことができる。

  • プロシージャに整数のリターン コードを含めることができる。

アプリケーションでは、ストアド プロシージャからのこれらすべての出力を処理できる必要があります。

結果の処理中には、さまざまな OLE DB プロバイダーからさまざまなタイミングで出力パラメーターと戻り値が返されます。 OLE DB Driver for SQL Server の場合、出力パラメーターとリターン コードは、コンシューマーがストアド プロシージャから返された結果セットを取得または取り消すまで提供されません。 これらのリターン コードと出力パラメーターは、サーバーからの最後の TDS パケットで返されます。

プロバイダーでは、DBPROP_OUTPUTPARAMETERAVAILABILITY プロパティを使用して、出力パラメーターと戻り値を返すタイミングを報告します。 このプロパティは、DBPROPSET_DATASOURCEINFO プロパティ セットに含まれています。

OLE DB Driver for SQL Server は、DBPROP_OUTPUTPARAMETERAVAILABILITY プロパティを DBPROPVAL_OA_ATROWRELEASE に設定することにより、結果セットが処理または解放されるまでリターン コードと出力パラメーターが返されないことを示します。

参照

ストアド プロシージャ