ユーザー定義集計の作成
Microsoft SQL Server 2005 には、SQL Server の内部に CLR アセンブリの形式でプログラミングされたデータベース オブジェクトを作成する機能が用意されています。CLR が提供する豊富なプログラミング モデルを利用できるデータベース オブジェクトには、トリガ、ストアド プロシージャ、関数、集計関数、型などがあります。
Transact-SQL が提供する組み込みの集計関数と同様に、ユーザー定義集計関数も一連の値に対して計算を実行し、その結果 1 つの値を返します。
SQL Server でのユーザー定義集計関数の作成は、次の手順で行われます。
- Microsoft .NET Framework でサポートされる言語のクラスとしてユーザー定義集計関数を定義します。CLR でのユーザー定義集計のプログラミング方法の詳細については、「CLR ユーザー定義集計」を参照してください。適切な言語コンパイラを使用してこのクラスをコンパイルし、CLR アセンブリを作成します。
- CREATE ASSEMBLY ステートメントを使用して、SQL Server にアセンブリを登録します。SQL Server のアセンブリの詳細については、「アセンブリ (データベース エンジン)」を参照してください。
- CREATE AGGREGATE ステートメントを使用して、登録済みのアセンブリを参照するユーザー定義集計を作成します。
メモ : |
---|
Microsoft Visual Studio で SQL Server プロジェクトを配置すると、そのプロジェクトで指定されたデータベース内のアセンブリが登録されます。また、プロジェクトを配置することで、SqlUserDefinedAggregate 属性で注釈が付けられたすべてのクラス定義に対応するユーザー定義集計がデータベースに作成されます。詳細については、「CLR データベース オブジェクトの配置」を参照してください。 |
メモ : |
---|
CLR コードを実行する SQL Server の機能は、既定では無効になっています。マネージ コード モジュールを参照するデータベース オブジェクトを作成、変更、削除することはできますが、sp_configure (Transact-SQL) を使用して clr enabled オプションを有効にしないと、SQL Server では、これらの参照が実行されません。 |
アセンブリを作成、変更、または削除するには
ユーザー定義集計を作成するには
参照
その他の技術情報
ユーザー定義関数の実装
データベース エンジンの .NET Framework プログラミング