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