ストアド プロシージャの実行 - ストアド プロシージャの呼び出し
適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)
SQL Server ODBC ドライバーは、ストアド プロシージャの実行をリモート ストアド プロシージャとしてサポートしています。 ストアド プロシージャをリモート ストアド プロシージャとして実行すると、ドライバーとサーバーでプロシージャ実行のパフォーマンスが最適化されます。
SQL ステートメントが ODBC CALL エスケープ句を使用してストアド プロシージャを呼び出すと、SQL Server ドライバーはリモート ストアド プロシージャ呼び出し (RPC) メカニズムを使用して SQL Server にプロシージャを送信します。 RPC 要求は、SQL Server でのステートメント解析やパラメーター処理の多くを省略するため、Transact-SQL の EXECUTE ステートメントを使用するよりも高速です。
この機能を示すサンプル アプリケーションについては、「プロセス リターン コードと出力パラメーター (ODBC)」を参照してください。
プロシージャを RPC として実行するには
ODBC CALL エスケープ シーケンスを使用する SQL ステートメントを作成します。 このステートメントでは、各入力、入出力、出力パラメーター、およびプロシージャの戻り値 (存在する場合) に対してパラメーター マーカーを使用します。
{? = CALL procname (?,?)}
入力、入力/出力、および出力パラメーターごとに SQLBindParameter を呼び出し、プロシージャの戻り値 (存在する場合) を呼び出します。
SQLExecDirect を使用してステートメントを実行します。
Note
アプリケーションでプロシージャの送信に (ODBC CALL エスケープ シーケンスではなく) Transact-SQL の EXECUTE 構文を使用した場合、プロシージャ コールは、SQL Server ODBC ドライバーから SQL Server に、RPC ではなく SQL ステートメントとして渡されます。 また、Transact-SQL の EXECUTE ステートメントを使用した場合、出力パラメーターは返されません。
参照
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示