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

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

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 アプリケーションで呼び出すことはできません。

参照

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