次の方法で共有


ストアド プロシージャの呼び出し (ODBC)

SQL ステートメントが ODBC CALL エスケープ句を使用してストアド プロシージャを呼び出すと、Microsoft SQL Server ドライバーはリモート ストアド プロシージャ呼び出し (RPC) メカニズムを使用して SQL Server にプロシージャを送信します。 RPC 要求は、SQL Server でのステートメント解析とパラメーター処理の多くをバイパスし、Transact-SQL EXECUTE ステートメントを使用するよりも高速です。

この機能を示すサンプル アプリケーションについては、「 プロセス リターン コードと出力パラメーター (ODBC)」を参照してください。

RPC としてプロシージャを実行するには

  1. ODBC CALL エスケープ シーケンスを使用する SQL ステートメントを作成します。 このステートメントでは、各入力、入出力、および出力パラメーター、およびプロシージャの戻り値 (存在する場合) にパラメーター マーカーが使用されます。

    {? = CALL procname (?,?)}  
    
  2. 入力、入力/出力、および出力パラメーターごとに SQLBindParameter を呼び出し、プロシージャの戻り値 (存在する場合) を呼び出します。

  3. SQLExecDirect を使用してステートメントを実行します。

アプリケーションが (ODBC CALL エスケープ シーケンスではなく) Transact-SQL EXECUTE 構文を使用してプロシージャを送信した場合、SQL Server ODBC ドライバーは、プロシージャ呼び出しを RPC ではなく SQL ステートメントとして SQL Server に渡します。 また、Transact-SQL EXECUTE ステートメントを使用する場合、出力パラメーターは返されません。

こちらもご覧ください

ストアド プロシージャの実行方法に関するトピック (ODBC)
ストアド プロシージャ呼び出しのバッチ処理
ストアド プロシージャの実行
ストアド プロシージャの呼び出し
プロシージャの