ユーザー定義の型の使用 - UDT テーブルと列の定義

適用対象:SQL Server (サポートされているすべてのバージョン)

ユーザー定義型 (UDT) 定義を含むアセンブリが Microsoft SQL Server データベースに登録されたら、列定義で使用できます。 詳細については、「 CREATE TYPE (Transact-SQL)」を参照してください。

UDT を含むテーブルの作成

テーブルに UDT 列を作成するために特別な構文は用意されていません。 UDT の名前は、組み込みのSQL Serverデータ型のいずれかであるかのように、列定義で使用できます。 次の 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 式にできます。 この式は決定的である必要があり、この式でデータ アクセスを実行しないでください。

詳細については、「 CREATE INDEX (Transact-SQL)」を参照してください。

参照

SQL Server でのユーザー定義型の使用
CREATE TYPE (Transact-SQL)
CLR ユーザー定義型