適用対象:SQL Server
ユーザー定義型 (UDT) 定義を含むアセンブリを SQL Server データベースに登録したら、それを列定義で使用できます。 詳細については、「CREATE TYPE
UDT を使用してテーブルを作成する
テーブルに UDT 列を作成するための特別な構文はありません。 UDT の名前は、組み込みの SQL Server データ型の 1 つであるかのように、列定義で使用できます。 次の CREATE TABLE
Transact-SQL ステートメントでは、Points
という名前のテーブルを作成します。ID
という名前の列は、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
関連コンテンツ
- SQL Server でユーザー定義型を操作する
- CREATE TYPE (Transact-SQL)
- CLR ユーザー定義型の