ストアド プロシージャは、データベースに格納されている実行可能オブジェクトです。 SQL Server では、次の機能がサポートされています。
ストアド プロシージャ:
1 つの実行可能プロシージャにプリコンパイルされた 1 つ以上の SQL ステートメント。
拡張ストアド プロシージャ:
拡張ストアド プロシージャ用に SQL Server Open Data Services API に書き込まれた C または C++ ダイナミック リンク ライブラリ (DLL)。 Open Data Services API は、ストアド プロシージャの機能を拡張して、C または C++ コードを含めます。
ステートメントを実行するときに、(クライアント アプリケーションでステートメントを直接実行または準備するのではなく) データ ソースでストアド プロシージャを呼び出すと、次のことができます。
パフォーマンスが高い
SQL ステートメントは、プロシージャの作成時に解析およびコンパイルされます。 このオーバーヘッドは、プロシージャの実行時に保存されます。
ネットワーク オーバーヘッドの削減
ネットワーク経由で複雑なクエリを送信する代わりにプロシージャを実行すると、ネットワーク トラフィックが減少する可能性があります。 ODBC アプリケーションで ODBC { CALL } 構文を使用してストアド プロシージャを実行する場合、ODBC ドライバーは、パラメーター データを変換する必要のない追加の最適化を行います。
一貫性の向上
ストアド プロシージャなどの中央リソースに組織のルールが実装されている場合は、コード化、テスト、デバッグを 1 回行うことができます。 個々のプログラマは、独自の実装を開発する代わりに、テストされたストアド プロシージャを使用できます。
精度の向上
ストアド プロシージャは通常、経験豊富なプログラマによって開発されるため、さまざまなスキル レベルのプログラマによって複数回開発されたコードよりも効率的でエラーが少なくなる傾向があります。
追加機能
拡張ストアド プロシージャでは、Transact-SQL ステートメントでは使用できない C および C++ 機能を使用できます。
ストアド プロシージャを呼び出す方法の例については、「 プロセス リターン コードと出力パラメーター (ODBC)」を参照してください。
このセクションにて
こちらもご覧ください
SQL Server Native Client (ODBC)
ストアド プロシージャの実行方法に関するトピック (ODBC)