ストアド プロシージャの実行

ストアド プロシージャは、データベースに保存される実行可能なオブジェクトです。SQL Server では次に示すオブジェクトをサポートしています。

  • ストアド プロシージャ :
    1 つの実行可能なプロシージャとしてプリコンパイルされた 1 つ以上の SQL ステートメント。
  • 拡張ストアド プロシージャ :
    拡張ストアド プロシージャ用の SQL Server オープン データ サービス API に記述された、C または C++ のダイナミック リンク ライブラリ (DLL)。オープン データ サービス API によりストアド プロシージャの機能が拡張され、C または C++ のコードを実装できるようになります。

ステートメントの実行時、データ ソースに対して (クライアント アプリケーション内でステートメントを直接実行または準備せずに) ストアド プロシージャを呼び出すと、次のような利点があります。

  • パフォーマンスの向上
    SQL ステートメントは、プロシージャが作成される時点で、解析およびコンパイルされます。プロシージャの実行時には、これらの作業は必要ありません。
  • ネットワーク オーバーヘッドの軽減
    複雑なクエリをネットワーク経由で送信するのではなく、プロシージャを実行することで、ネットワーク トラフィックを削減できます。ODBC アプリケーションが ODBC { CALL } 構文を使用してストアド プロシージャを実行すると、ODBC ドライバがさらに最適化を行い、パラメータ データの変換が不要になります。
  • 一貫性の向上
    組織の規則がストアド プロシージャなどの 1 つのリソースに集約して実装されると、コーディング、テスト、デバッグを一度で行えます。各プログラマが独自の実装を開発するのではなく、テスト済みの共通のストアド プロシージャを使用できます。
  • 精度の向上
    通常、ストアド プロシージャは経験を積んだプログラマが開発するので、技術レベルの異なるプログラマが繰り返し手を加えたコードに比べて、効率的でエラーが少なくなる傾向があります。
  • 機能の追加
    拡張ストアド プロシージャは、Transact-SQL ステートメントでは使用できない C や C++ の機能を使用できます。

参照

概念

SQL Native Client (ODBC)

その他の技術情報

ストアド プロシージャの実行 (ODBC)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手