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