次の方法で共有


ユーザー定義型 (UDT) のテーブルと列を定義する

適用対象: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参照してください。