共通言語ランタイム (CLR) 統合を使用したデータベース オブジェクトの構築

Microsoft SQL Server を使用してデータベース オブジェクトを構築できます。これは"CLR ルーチン" と呼ばれます。これらのルーチンは次のとおりです。

  • スカラー UDF (ユーザー定義スカラー値関数)

  • ユーザー定義 TVF (テーブル値関数)

  • UDP (ユーザー定義プロシージャ)

  • ユーザー定義トリガー

CLR ルーチンは、マネージド コード内ではそれぞれ同じ構造になります。 これらは、クラスのパブリックで静的な (Microsoft Visual Basic .NET で共有される) メソッドにマップされます。 ルーチン以外に、.NET Framework を使用して UDT (ユーザー定義型) やユーザー定義集計関数を定義することもできます。 UDT とユーザー定義集計は、.NET Framework クラス全体にマップされます。

.NET Framework ルーチンの各種類には、同等の Transact-SQL を使用できる SQL Server があります。 たとえば、スカラー UDF は任意のスカラー式で使用できます。 TVF は、任意の FROM 句で使用できます。 プロシージャは EXEC ステートメントで呼び出すか、クライアント アプリケーションから呼び出すことができます。

注

共通言語ランタイムでの CLR オブジェクト (ユーザー定義関数、ユーザー定義型、またはトリガー) の実行は、クエリ オプティマイザーが有効であると判断した場合に、複数のスレッド (並列プラン) で実行できます。 ただし、ユーザー定義関数がデータにアクセスする場合、実行はシリアル プランで実行されます。 SQL Server 2008 より前のバージョンのサーバーで実行する場合、ユーザー定義関数に LOB パラメーターまたは戻り値が含まれている場合は、シリアル プランでも実行する必要があります。

次の表に、このセクションで説明するトピックを示します。

CLR 統合の概要
CLR と SQL Server の統合を使用してオブジェクトをコンパイルするために必要なライブラリと名前空間の概要について説明します。 また、例として "Hello World" CLR ストアド プロシージャを紹介します。

サポートされている .NET Framework ライブラリ
CLR 統合でサポートされる .NET Framework ライブラリに関する情報を提供します。

CLR 統合プログラミング モデルの制限事項
CLR 統合プログラミング モデルの制限事項に関する情報を提供します。

.NET Framework の SQL Server データ型
SQL Server データ型とその .NET Framework に相当するデータ型の概要。

CLR 統合カスタム属性の概要
CLR 統合のカスタム属性に関する情報を提供します。

CLR User-Defined 関数
テーブル値関数、スカラー関数、ユーザー定義集計関数など、さまざまな種類の CLR 関数の実装方法と使用方法について説明します。

CLR User-Defined 型
CLR のユーザー定義型を実装して使用する方法について説明します。

CLR ストアド プロシージャ
CLR のストアド プロシージャを実装して使用する方法について説明します。

CLR トリガー
CLR のトリガーを実装して使用する方法について説明します。

こちらもご覧ください

共通言語ランタイム (CLR) 統合の概要