次の方法で共有


UDT テーブルと UDT 列の定義

UDT (ユーザー定義型) の定義を含むアセンブリを MicrosoftSQL Server データベースに登録すれば、その UDT を列定義に使用できます。

UDT を含むテーブルの作成

テーブルに UDT 列を作成するために特別な構文は用意されていません。SQL Server 固有のデータ型であるかのように、列定義に UDT の名前を使用できます。次の CREATE TABLE Transact-SQL ステートメントでは、ID という名前の列がある Points という名前のテーブルを作成します。この列は、int 型の ID 列で、テーブルの主キーとして定義されます。2 番目の列は PointValue という名前で、Point というデータ型です。この例で使用しているスキーマ名は dbo です。この操作には、スキーマ名を指定する権限が必要です。スキーマ名を省略すると、データベース ユーザーの既定のスキーマが使用されます。

CREATE TABLE dbo.Points 
(ID int IDENTITY(1,1) PRIMARY KEY, PointValue Point)

UDT 列でのインデックスの作成

UDT 列のインデックスの作成には次の 2 つの方法があります。

  • 完全な値のインデックスを作成します。この場合、UDT がバイナリ順であれば、CREATE INDEX Transact-SQL ステートメントを使用して UDT 列全体のインデックスを作成できます。

  • UDT 式のインデックスを作成します。保存される計算列のインデックスを UDT 式を使用して作成できます。UDT のフィールド、メソッド、またはプロパティを UDT 式にできます。この式は決定的である必要があり、この式でデータ アクセスを実行しないでください。

詳細については、「CLR ユーザー定義型」および「CREATE INDEX (Transact-SQL)」を参照してください。

関連項目

その他の技術情報