"CLR ルーチン" と呼ばれる Microsoft SQL Serverを使用して、データベース オブジェクトをビルドできます。これらのルーチンには、次のものが含まれます。
スカラー UDF (ユーザー定義スカラー値関数)
ユーザー定義 TVF (テーブル値関数)
UDP (ユーザー定義プロシージャ)
ユーザー定義トリガー
CLR ルーチンは、マネージド コード内ではそれぞれ同じ構造になります。 これらは、クラスのパブリック、静的 (Microsoft Visual Basic .NET で共有) メソッドにマップされます。 ルーチン以外に、.NET Framework を使用して UDT (ユーザー定義型) やユーザー定義集計関数を定義することもできます。 UDT とユーザー定義集計は、.NET Framework クラス全体にマップされます。
.NET Framework ルーチンの各種類には、Transact-SQL と同等のを使用できるSQL Serverがあります。 たとえば、スカラー UDF は任意のスカラー式で使用できます。 また、TVF は任意の FROM 句で使用できます。 プロシージャは、EXEC ステートメントやクライアント アプリケーションから呼び出すことができます。
Note
効果的であるとクエリ オプティマイザーで判断された場合は、共通言語ランタイムでの CLR オブジェクト (ユーザー定義関数、ユーザー定義型、またはトリガー) の実行を複数のスレッドで行うことができます (並列プラン)。 ただし、ユーザー定義関数がデータにアクセスする場合、実行はシリアル プランで行われます。 2008 年SQL Serverより前のバージョンのサーバーで実行する場合、ユーザー定義関数に 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 ユーザー定義関数
テーブル値関数、スカラー関数、ユーザー定義集計関数など、さまざまな種類の CLR 関数の実装方法と使用方法について説明します。
CLR ユーザー定義型
CLR のユーザー定義型を実装して使用する方法について説明します。
CLR ストアド プロシージャ
CLR のストアド プロシージャを実装して使用する方法について説明します。
CLR トリガー
CLR のトリガーを実装して使用する方法について説明します。