プロシージャ
ストアド プロシージャは、1 つ以上の Transact-SQL ステートメントを含むプリコンパイルされた実行可能オブジェクトです。 ストアド プロシージャは、入力パラメーターと出力パラメーターを使用でき、整数のリターン コードを出力することもできます。 アプリケーションは、カタログ関数を使用することで、使用可能なストアド プロシージャを列挙できます。
SQL Server を対象とする ODBC アプリケーションからストアド プロシージャを呼び出す場合、直接実行だけを使用する必要があります。 SQL Server Native Client ODBC ドライバーは、以前のバージョンの SQL Server に接続するときは、一時ストアド プロシージャを作成することで、SQLPrepare 関数を実装します。この一時プロシージャは、その後 SQLExecute で呼び出されます。 SQLPrepare で対象のストアド プロシージャを呼び出すだけの一時ストアド プロシージャを作成すると、対象のストアド プロシージャを直接実行する場合に比べて、オーバーヘッドが増加します。 SQL Server のインスタンスに接続している場合でも、呼び出しの準備には、ネットワーク経由のやり取りが増え、ストアド プロシージャ実行プランを呼び出すだけの実行プランの構築が必要になります。
ODBC アプリケーションでは、ストアド プロシージャの実行時に ODBC CALL 構文を使用する必要があります。 ドライバーは、ODBC CALL 構文の使用時に、リモート プロシージャ コールのメカニズムを使用してプロシージャを呼び出すように最適化されます。 これは、Transact-SQL EXECUTE ステートメントをサーバーに送信するときに使用するメカニズムよりも効率的です。
詳細については、「ストアド プロシージャの実行」を参照してください。