SQL ステートメントが ODBC CALL エスケープ句を使用してストアド プロシージャを呼び出すと、Microsoft SQL Server ドライバーはリモート ストアド プロシージャ呼び出し (RPC) メカニズムを使用して SQL Server にプロシージャを送信します。 RPC 要求は、SQL Server でのステートメント解析とパラメーター処理の多くをバイパスし、Transact-SQL EXECUTE ステートメントを使用するよりも高速です。
この機能を示すサンプル アプリケーションについては、「 プロセス リターン コードと出力パラメーター (ODBC)」を参照してください。
RPC としてプロシージャを実行するには
ODBC CALL エスケープ シーケンスを使用する SQL ステートメントを作成します。 このステートメントでは、各入力、入出力、および出力パラメーター、およびプロシージャの戻り値 (存在する場合) にパラメーター マーカーが使用されます。
{? = CALL procname (?,?)}入力、入力/出力、および出力パラメーターごとに SQLBindParameter を呼び出し、プロシージャの戻り値 (存在する場合) を呼び出します。
SQLExecDirect を使用してステートメントを実行します。
注
アプリケーションが (ODBC CALL エスケープ シーケンスではなく) Transact-SQL EXECUTE 構文を使用してプロシージャを送信した場合、SQL Server ODBC ドライバーは、プロシージャ呼び出しを RPC ではなく SQL ステートメントとして SQL Server に渡します。 また、Transact-SQL EXECUTE ステートメントを使用する場合、出力パラメーターは返されません。
こちらもご覧ください
ストアド プロシージャの実行方法に関するトピック (ODBC)
ストアド プロシージャ呼び出しのバッチ処理
ストアド プロシージャの実行
ストアド プロシージャの呼び出し
プロシージャの