更新 : 2007 年 11 月
ストアド プロシージャは、データベースに格納されている実行可能なオブジェクトです。ストアド プロシージャの呼び出しは、SQL コマンドの呼び出しと似ています。クライアント アプリケーションでステートメントを実行または準備する代わりに、データ ソースに対してストアド プロシージャを使用すると、パフォーマンスの向上、ネットワーク オーバーヘッドの削減、一貫性と正確性の向上などのさまざまな利点が得られます。
ストアド プロシージャは、任意の数 (ゼロを含む) の入力または出力パラメータを持つことができ、戻り値を返すことができます。パラメータ値を特定のデータ値としてハードコーディングすることも、以下のようにパラメータ マーカー (疑問符 "?") を使用することもできます。
このトピックでは、通常のストアド プロシージャについて説明しています。Visual C++ 2005 および SQL Server 2005 を使った CLR のストアド プロシージャについては、「マネージ コードでの SQL Server 2005 オブジェクトの作成」を参照してください。
![]() |
---|
Visual C++ を使って作成した CLR の SQL Server ストアド プロシージャは、/clr:safe コンパイラ オプションでコンパイルする必要があります。 |
SQL Server 用の OLE DB プロバイダ (SQLOLEDB) は、ストアド プロシージャがデータを返すために使用する以下の機構をサポートします。
プロシージャ内のすべての SELECT ステートメントは結果セットを生成します。
プロシージャは、出力パラメータを通じてデータを返すことができます。
プロシージャは、整数のリターン コードを持つことができます。
![]() |
---|
OLE DB Provider for Jet はストアド プロシージャをサポートしていないため、このプロバイダではストアド プロシージャを使用できません。クエリ文字列には定数だけを使用できます。 |