次の方法で共有


ユーザー定義集計の作成

適用対象 SQL Server 2016 (13.x) 以降のバージョン

CLR アセンブリでプログラミングされている SQL Server の内部にデータベース オブジェクトを作成できます。 CLR が提供する豊富なプログラミング モデルを使用できるデータベース オブジェクトには、トリガー、ストアド プロシージャ、関数、集計関数、型などがあります。

Transact-SQL が提供する組み込みの集計関数と同様に、ユーザー定義集計関数も一連の値に対して計算を実行し、その結果 1 つの値を返します。

SQL Server でのユーザー定義集計関数の作成は、次の手順で行われます。

  • Microsoft .NET Framework でサポートされる言語のクラスとしてユーザー定義集計関数を定義します。 CLR でユーザー定義集計をプログラムする方法の詳細については、CLR ユーザー定義集計 を参照してください。 適切な言語コンパイラを使用してこのクラスをコンパイルし、CLR アセンブリを作成します。

  • CREATE ASSEMBLY ステートメントを使用して、アセンブリを SQL Server に登録します。 SQL Server のアセンブリの詳細については、「アセンブリ (データベース エンジン)」を参照してください。

  • CREATE AGGREGATE ステートメントを使用して、登録済みアセンブリを参照するユーザー定義集計を作成します。

SQL Server では、CLR コードの実行は既定でオフになっています。 マネージド コード モジュールを参照するデータベース オブジェクトを作成、変更、および削除できますが、sp_configureを使用して clr enabled サーバー構成オプションが有効になっていない限り、これらの参照は SQL Server では実行されません。

Microsoft Visual Studio で SQL Server プロジェクトを配置すると、そのプロジェクトで指定されたデータベースにアセンブリが登録されます。 プロジェクトを配置すると、SqlFunction 属性で注釈が付けられたすべてのメソッドの CLR 関数もデータベースに作成されます。 詳細については、「CLR データベース オブジェクト配置する」を参照してください。

アセンブリを作成、変更、または削除する

ユーザー定義集計を作成する