ストアド プロシージャの実行
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
ストアド プロシージャは、データベースに保存される実行可能なオブジェクトです。 SQL Server は以下のものをサポートします。
ストアド プロシージャ:
1 つの実行可能なプロシージャとしてプリコンパイルされた 1 つ以上の SQL ステートメント。
拡張ストアド プロシージャ :
拡張ストアド プロシージャ用の SQL Server オープン データ サービス API に記述された、C または C++ のダイナミック リンク ライブラリ (DLL)。 オープン データ サービス API によりストアド プロシージャの機能が拡張され、C または C++ のコードを実装できるようになります。
ステートメントの実行時、データ ソースに対して (クライアント アプリケーション内でステートメントを直接実行または準備せずに) ストアド プロシージャを呼び出すと、次のような利点があります。
パフォーマンスが高い
SQL ステートメントは、プロシージャが作成される時点で、解析およびコンパイルされます。 プロシージャの実行時には、これらの作業は必要ありません。
ネットワーク オーバーヘッドの軽減
複雑なクエリをネットワーク経由で送信するのではなく、プロシージャを実行することで、ネットワーク トラフィックを削減できます。 ODBC アプリケーションが ODBC { CALL } 構文を使用してストアド プロシージャを実行すると、ODBC ドライバーがさらに最適化を行い、パラメーター データの変換が不要になります。
一貫性の向上
組織の規則がストアド プロシージャなどの 1 つのリソースに集約して実装されると、コーディング、テスト、デバッグを一度で行えます。 各プログラマが独自の実装を開発するのではなく、テスト済みの共通のストアド プロシージャを使用できます。
精度の向上
通常、ストアド プロシージャは経験を積んだプログラマが開発するので、技術レベルの異なるプログラマが繰り返し手を加えたコードに比べて、効率的でエラーが少なくなる傾向があります。
追加機能
拡張ストアド プロシージャでは、Transact-SQL ステートメントでは使用できない C および C++ 機能を使用できます。
ストアド プロシージャを呼び出す方法の例については、「 Process Return Codes and Output Parameters (ODBC)」を参照してください。
このセクションの内容
参照
SQL Server Native Client (ODBC)
ストアド プロシージャを実行する方法に関するトピック (ODBC)