ストアド プロシージャの結果の処理

SQL Server ストアド プロシージャには、データを返す際に使用する次の 4 つのメカニズムがあります。

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

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

  • カーソルの出力パラメーターから、Transact-SQL サーバー カーソルを返すことができる。

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

アプリケーションでは、ストアド プロシージャからのこれらすべての出力を処理できる必要があります。 CALL ステートメントや EXECUTE ステートメントには、リターン コードと出力パラメーター用のパラメーター マーカーを含める必要があります。 SQLBindParameter を使用して、これらをすべて出力パラメーターにバインドすると、SQL Server Native Client ODBC ドライバーは出力値をこのバインドされた変数に転送します。 出力パラメーターとリターン コードは、SQL Server からクライアントに返される最終項目です。これらは、SQLMoreResults が SQL_NO_DATA を返すと、アプリケーションに返されます。

ODBC は、Transact-SQL カーソル パラメーターのバインドをサポートしません。 プロシージャの実行前にすべての出力パラメーターをバインドしておく必要があるので、出力カーソル パラメーターを含む Transact-SQL ストアド プロシージャを ODBC アプリケーションから呼び出すことはできません。

関連項目

概念

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