CLR (共通言語ランタイム) 統合によるデータベース オブジェクトの構築
SQL Server と .NET Framework CLR (共通言語ランタイム) との統合を使用してデータベース オブジェクトを構築できます。Microsoft SQL Server の内部で実行されるマネージ コードを "CLR ルーチン" と呼びます。CLR ルーチンには、次のものがあります。
- スカラ UDF (ユーザー定義スカラ値関数)
- ユーザー定義 TVF (テーブル値関数)
- UDP (ユーザー定義プロシージャ)
- ユーザー定義トリガ
CLR ルーチンは、マネージ コード内ではそれぞれ同じ構造になります。CLR ルーチンは、クラスの public static (Microsoft Visual Basic .NET では shared) メソッドにマップされます。ルーチン以外に、.NET Framework を使用して UDT (ユーザー定義型) やユーザー定義集計関数を定義することもできます。UDT とユーザー定義集計は、.NET Framework クラス全体にマップされます。
各種類の .NET Framework ルーチンには Transact-SQL 宣言があり、SQL Server で同等の Transact-SQL を使用できる任意の場所で使用できます。たとえば、スカラ UDF は任意のスカラ式で使用できます。また、TVF は任意の FROM 句で使用できます。プロシージャは、EXEC ステートメントやクライアント アプリケーションから呼び出すことができます。
Visual Studio .NET 2003 では CLR 統合プログラミングを使用できない点に注意してください。SQL Server 2005 には .NET Framework 2.0 がプレインストールされていますが、Visual Studio .NET 2003 では .NET Framework 2.0 アセンブリを使用できません。
このセクションのトピックでは、次の内容について説明します。
トピック | 説明 |
---|---|
SQL Server と CLR との統合を使用したオブジェクトのコンパイルに必要なライブラリと名前空間の概要について説明します。また、例として "Hello World" CLR ストアド プロシージャを紹介します。 |
|
CLR 統合でサポートされる .NET Framework ライブラリに関する情報を提供します。 |
|
CLR 統合プログラミング モデルの制限事項に関する情報を提供します。 |
|
SQL Server データ型と、.NET Framework での同等のデータ型の概要について説明します。 |
|
CLR 統合のカスタム属性に関する情報を提供します。 |
|
テーブル値関数、スカラ関数、ユーザー定義集計関数など、さまざまな種類の CLR 関数の実装方法と使用方法について説明します。 |
|
CLR ストアド プロシージャの実装方法と使用方法について説明します。 |
|
CLR ユーザー定義型の実装方法と使用方法について説明します。 |
|
CLR トリガの実装方法と使用方法について説明します。 |